IOException:没有这样的文件或目录(Android)

时间:2014-09-01 15:25:27

标签: android android-file

这是我的第一个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);

2 个答案:

答案 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