这是我的第一个Android应用程序,也是我第一次尝试写入文件。我正在尝试捕获日志according to these instructions而我正在获取FileNotFoundExeption ENOENT (No such file or directory)
。这很公平,因为目录不存在。但那我该如何创建目录呢?或者使用另一个?我不知道在哪里写日志以便给他们发送电子邮件的最佳做法,我也不知道如何为他们创建一个新目录。
这是我尝试使用的路径。
String path = Environment.getExternalStorageDirectory() + "/" + "MyFirstApp/";
String fullName = path + "mylog";
File file = new File (fullName);
答案 0 :(得分:6)
父目录尚不存在,您必须先创建父目录,然后才能创建文件
String path = Environment.getExternalStorageDirectory() + "/" + "MyFirstApp/";
// Create the parent path
File dir = new File(path);
if (!dir.exists()) {
dir.mkdirs();
}
String fullName = path + "mylog";
File file = new File (fullName);
编辑:
感谢Jonathans的回答,这段代码示例更为正确。它使用exists()方法。
您还需要清单中的权限:
<manifest ...>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
...
</manifest>
答案 1 :(得分:2)
我想补充一下Francesco的答案,不是问它是否是一个目录,你可以用dir.exists()方法询问它是否存在。
并检查您是否在清单文件中设置了适当的权限。
希望有所帮助
了Jonatan