2013-07-31 26 views
5

đây sẽ là bài đăng đầu tiên của tôi trên SO vì vậy hãy nhẹ nhàng. Tôi hiện đang phát triển một ứng dụng Android và đang cố gắng đọc một tệp .txt. Sau nhiều trở ngại riêng biệt để vượt qua (đây là lần đầu tiên tôi đọc trong một tệp văn bản), tôi đã gặp phải một vấn đề khá khó chịu gửi thông báo lỗiPhát triển Android: Tệp có thể được nén

Không thể mở tệp này dưới dạng bộ mô tả tệp; nó có lẽ là nén.

assetmgr = thiscontext.getAssets(); 
try { 
    descriptor = assetmgr.openFd("level1.txt"); 
} catch (IOException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 

Đoạn mã trên chỉ đơn giản là cố gắng đọc trong tệp văn bản. Tuy nhiên, nó trả về null cho bộ mô tả rõ ràng là gây ra lỗi tiếp tục xuống dòng.

inputStream = new FileReader(descriptor.getFileDescriptor()); 

Đây là dòng đang khởi tạo luồng đầu vào để phân tích cú pháp tệp văn bản trong vòng lặp mà tôi đã tạo ra trong phạm vi này.

Vì vậy, vấn đề của tôi là làm cách nào để sửa tệp txt không mở đúng cách và được nén vĩnh viễn.

Nếu tôi đã thực hiện bất kỳ lỗi nào khi đăng, vui lòng cho tôi biết để tôi có thể sửa chúng để nhận được lời khuyên tốt nhất có thể!

Chúc mừng!

+0

bạn đã đặt tệp level1.txt này ở đâu? – wtsang02

+0

Xin chào @ wtsang02. Tôi đã đặt tệp trong thư mục nội dung. Vì vậy, đối với cá nhân tôi nó sẽ là AndroidDevelopment/khủng hoảng/tài sản. – user2639049

Trả lời

5

Vì vậy, vấn đề của tôi là làm cách nào để sửa tệp txt không mở đúng cách và được nén vĩnh viễn.

Thay vì gọi openFd(), gọi open(), để có được một InputStream trực tiếp, và thay thế của bạn FileReader với một InputStreamReader (nếu bạn thực sự muốn có một giao diện Reader).

+0

Điều đó dường như đã xóa các thông báo lỗi của tôi. Cảm ơn rất nhiều. Bây giờ tôi không nhận được kết quả mong đợi nhưng đó là một trở ngại khác được xóa sau này. – user2639049

+5

Tôi đang sử dụng AssetsFileDiscriptor trong nhà cung cấp nội dung và tôi phải trả lại AssetFileDiscriptor này Tôi không thể trả về InputStream, vì vậy bây giờ tôi có thể làm gì? –

Các vấn đề liên quan