Tôi gặp một chút vấn đề với việc tạo thư mục và lưu tệp vào đó trên ứng dụng Android của mình. Tôi đang sử dụng đoạn mã này để thực hiện việc này:
String filename = "MyApp/MediaTag/MediaTag-"+objectId+".png";
File file = new File(Environment.getExternalStorageDirectory(), filename);
FileOutputStream fos;
fos = new FileOutputStream(file);
fos.write(mediaTagBuffer);
fos.flush();
fos.close();
Nhưng nó ném ra một ngoại lệ:
java.io.FileNotFoundException: /mnt/sdcard/MyApp/MediaCard/MediaCard-0.png (Không có tệp hoặc thư mục như vậy)
trên dòng đó: fos = new FileOutputStream(file);
Nếu tôi đặt tên tệp thành: "MyApp/MediaTag-"+objectId+"
nó đang hoạt động, nhưng Nếu tôi cố gắng tạo và lưu tệp vào một thư mục khác, nó sẽ đưa ra ngoại lệ. Vì vậy, bất kỳ ý tưởng những gì tôi đang làm sai?
Và một câu hỏi khác: Có cách nào để đặt tệp của tôi ở chế độ riêng tư trong bộ nhớ ngoài để người dùng không thể xem chúng trong thư viện, chỉ khi anh ta kết nối thiết bị của mình với tư cách là Disk Drive
?
Environment.getExternalStorageDirectory()
thay vì/sdcard
.