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

NSo*_*uth 1 android android-file

这是我的第一个Android应用程序,也是我第一次尝试写入文件.我正在尝试根据这些说明捕获日志,而我正在获取FileNotFoundExeption ENOENT (No such file or directory).这很公平,因为目录不存在.但那我该如何创建目录呢?或者使用另一个?我不知道在哪里编写日志以便通过电子邮件发送它们的最佳实践,我也不知道如何为它们创建新目录.

这是我正在尝试使用的路径.

String path = Environment.getExternalStorageDirectory() + "/" + "MyFirstApp/";
      String fullName = path + "mylog";
File file = new File (fullName);
Run Code Online (Sandbox Code Playgroud)

Fra*_*eye 8

父目录尚不存在,您必须在创建文件之前先创建父目录

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);
Run Code Online (Sandbox Code Playgroud)

编辑:

感谢Jonathans的回答,这段代码示例更准确.它使用exists()方法.

您还需要清单中的权限:

<manifest ...>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    ...
</manifest>
Run Code Online (Sandbox Code Playgroud)


Jon*_*ovy 5

我想补充弗朗西斯科的答案,您可以使用 dir.exists() 方法询问它是否存在,而不是询问它是否是一个目录。

还要检查您是否在清单文件中设置了正确的权限。

希望能帮助到你

乔纳坦