Xin lỗi cho danh hiệu mơ hồ nhưng tôi làm như sau để viết một chuỗi đơn giản vào một tệp:Không thể ghi vào thẻ SD - canWrite được trả về false
try {
File root = Environment.getExternalStorageDirectory();
if (root.canWrite()){
System.out.println("Can write.");
File def_file = new File(root, "default.txt");
FileWriter fw = new FileWriter(def_file);
BufferedWriter out = new BufferedWriter(fw);
String defbuf = "default";
out.write(defbuf);
out.flush();
out.close();
}
else
System.out.println("Can't write.");
}catch (IOException e) {
e.printStackTrace();
}
Nhưng root.canWrite()
dường như được trở về mọi sai . Tôi không chạy điều này của một trình giả lập, tôi có Eris android của tôi cắm vào máy tính của tôi thông qua USB và chạy các ứng dụng tắt của điện thoại của tôi thông qua Eclipse. Có cách nào cho phép ứng dụng của tôi để điều này không xảy ra không?
Ngoài ra, mã này có vẻ là tạo tệp default.txt
nhưng nếu nó đã tồn tại, nó sẽ bỏ qua việc tạo và chỉ cần mở nó để viết hoặc tôi phải bắt một cái gì đó như FileAlreadyExists
(nếu có ngoại lệ như vậy) sau đó chỉ cần mở nó và viết?
Cảm ơn mọi người trợ giúp.
tôi unmout điện thoại từ máy tính , nhưng vẫn nhận được lỗi, tôi đã thêm sự cho phép ** WRITE_EXTERNAL_STORAGE ** trong tệp AndroidManifest.xml, cảm ơn trước. – twlkyao