2012-02-02 17 views
27

Tôi có tệp văn bản tôi muốn đưa vào ứng dụng Android của mình, tệp này không phải là tệp chuỗi là tệp văn bản chuẩn. Nó chứa dữ liệu xác định các đặc tính của một "bản đồ" được vẽ trên bảng. Các tập tin không phải là một tập tin XML vì vậy tôi không chắc chắn nơi tôi nên đặt nó hoặc nếu điều này không phải là cấu trúc tập tin tốt cho android? Bạn có giả sử để làm điều này? Nếu bạn đang ở dưới thư mục nào bạn cho là đặt chúng? Làm thế nào sau đó là bạn giả sử để truy cập các tập tin? Tôi biết làm thế nào để sử dụng FileInputStreams và FileOutputStreams tôi chỉ cần biết làm thế nào để truy cập vào tập tin. Tất cả các câu trả lời có liên quan đều được chào đón và đánh giá cao!Nơi đặt các tệp văn bản trong thư mục trong Android

+0

Có vẻ như ai đó đã tìm thấy câu trả lời trong một câu hỏi khác [ở đây] [1]. [1]: http://stackoverflow.com/questions/4087674/android-read-txt-raw-resource-file – onit

Trả lời

41

Sử dụng assets hoặc raw thư mục trong cấu trúc thư mục Android của bạn để giữ tệp đó. Để biết thêm thông tin, hãy đọc this

+1

câu trả lời được chấp nhận ở đây có thêm thông tin về thư mục nội dung: http://stackoverflow.com/questions/18302603/where-to-place-asset-folder-in-android-studio – Colin

+0

Làm cách nào để đọc tệp từ thư mục ứng dụng trong ứng dụng android? Nếu tôi giữ tập tin .properties dưới thư mục tài sản thì nó có thể nhìn thấy thông qua kỹ thuật đảo ngược. –

+1

Không bao giờ nướng nội dung bí mật của bạn trong ứng dụng/mã nguồn ... luôn yêu cầu từ nguồn trực tuyến, nơi bạn sẽ có nhiều quyền kiểm soát hơn. Đây là quy tắc của ngón cái. – waqaslam

19

Bạn phải đặt tệp của mình vào thư mục nội dung như Waqas đã nói.

Bây giờ, hãy truy cập vào trang web bạn làm như vậy.

tôi cung cấp cho bạn một ví dụ sử dụng BufferedReader

BufferedReader reader = new BufferedReader(
       new InputStreamReader(getAssets().open("YourTextFile.txt"))); 

Cẩn thận đấy. Trong trường hợp của tôi, tôi không biết tại sao bây giờ, tôi không thể đọc các tập tin văn bản lớn hơn ~ 1MB và tôi đã phải chia chúng trong nhiều tập tin nhỏ. Có vẻ như vấn đề khác có cùng kích thước với kích thước tệp nhưng tôi không tìm thấy bất kỳ thông tin nào về điều đó trên trang web dành cho nhà phát triển Android. Nếu bất kỳ ai biết thêm về điều này ....

THEO UP

Vấn đề của tôi với 1MB là do một bí quyết lỗi/hạn chế của phiên bản trước của Android. Kể từ khi sử dụng các phiên bản Android gần đây, vấn đề đó không còn hiện diện nữa.

+0

Tôi chỉ mặc dù Waqas đã bỏ lỡ hiển thị một ví dụ khi bạn hỏi "tôi chỉ cần biết làm thế nào để truy cập vào tập tin" và vì vậy cho tôi câu trả lời là "không đầy đủ" và cũng để cung cấp cho bạn những cảnh báo về kích thước tập tin văn bản. Nhưng nó không phải là một cuộc thi! Chúng tôi ở đây để giúp đỡ lẫn nhau – HpTerm

+3

Bạn thực sự có thể truy cập nội dung mà không cần mở luồng và đọc byte tệp theo byte. Thay vào đó, bạn có thể sử dụng 'file: // android_asset/file.txt' để cung cấp cho bạn quyền truy cập vào tệp ngay lập tức. Bạn có thể tạo một đối tượng File ra khỏi nó hoặc làm bất cứ điều gì bạn thích. – asenovm

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