2011-08-18 18 views
11

Ứng dụng Android có thể tạo một số thư mục trong bộ nhớ trong để lưu trữ các loại tệp khác nhau không? Tôi cần khả năng này, bởi vì tôi sẽ cần phải xóa một loại tập tin tại thời điểm xác định trong ứng dụng của tôi.Tạo thư mục trong gói ứng dụng trên bộ nhớ trong

Khi tôi cố gắng sử dụng phương pháp Context tiêu chuẩn openFileOutput() và gửi đến tên tệp bằng ký hiệu "/", tôi nhận được IllegalArgumentException.

Hãy cho tôi biết các lớp và phương pháp nào có thể cho phép tôi hoạt động như vậy?

+0

http://stackoverflow.com/questions/8124612/android-create-folders-in-internal-memory/9707270#9707270 – user1269737

+0

Tôi đã có một vấn đề tương tự. Và giải quyết nó. http://stackoverflow.com/questions/8124612/android-create-folders-in-internal-memory/9707270#9707270 – user1269737

Trả lời

36

Sử dụng phương thức Context.getDir(String name, int mode) để tạo hoặc truy cập các thư mục trong bộ nhớ trong. Trích dẫn từ tài liệu:

Truy xuất, tạo nếu cần, một thư mục mới mà ứng dụng có thể đặt các tệp dữ liệu tùy chỉnh của riêng mình. Bạn có thể sử dụng đối tượng File được trả về để tạo và truy cập các tệp trong thư mục này. Lưu ý rằng các tệp được tạo thông qua đối tượng Tệp sẽ chỉ có thể truy cập được bằng ứng dụng của riêng bạn; bạn chỉ có thể đặt chế độ của toàn bộ thư mục chứ không phải các tệp riêng lẻ.

UPD Ví dụ:

File mydir = context.getDir("mydir", Context.MODE_PRIVATE); //Creating an internal dir; 
File fileWithinMyDir = new File(mydir, "myfile"); //Getting a file within the dir. 
FileOutputStream out = new FileOutputStream(fileWithinMyDir); //Use the stream as usual to write into the file. 
+0

Cảm ơn bạn rất nhiều vì đã trả lời. Bạn có thể giải thích cho tôi xin vui lòng. Khi tôi tạo đối tượng 'File' bằng cách sử dụng' Context.getDir() ', làm thế nào tôi có thể thêm vào đối tượng' File' này một đối tượng 'File' khác? – teoREtik

+1

@teoREtik xem ví dụ được cập nhật. –

+1

Cảm ơn bạn rất nhiều. Bạn rất tốt bụng!!! – teoREtik

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