【发布时间】:2014-03-11 20:47:59
【问题描述】:
我正在尝试使用以下代码在设备上创建文件
private void createFileOnDevice(Boolean append) throws IOException {
File Root = Environment.getExternalStorageDirectory();
if (Root.canWrite()) {
File LogFile = new File(Root, "log.txt");
FileWriter LogWriter = new FileWriter(LogFile, append);
out = new BufferedWriter(LogWriter);
Date date = new Date();
out.write("Logged at"
+ String.valueOf(date.getDay() + "-" + date.getHours()
+ ":" + date.getMinutes() + ":" + date.getSeconds()
+ "\n"));
}
}
代码工作正常,当我在具有 android 版本 2.3.5 到 4.3 的设备上运行时,它会创建一个文件。
但是当我在具有最新 android 版本(4.4.2,kitkat)的 Nexus 4 上运行相同的应用程序时,我无法创建文件。另外,我没有收到任何错误。
我该如何解决??..
提前谢谢:):)
【问题讨论】:
-
有很简单的解释
Root.canWrite()返回false -
@selvin 谢谢 :),但为什么我没有上其他版本。为什么是4.4.2,能解释一下原因吗?
-
我的清单文件中有 WRITE_EXTERNAL_STORAGE 权限。