【问题标题】:IOException: No Such File or Directory (Android)IOException:没有这样的文件或目录(Android)
【发布时间】:2014-10-25 20:51:12
【问题描述】:

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

【问题讨论】:

  • 您是否拥有在 SD 卡上写入的权限?

标签: android android-file


【解决方案1】:

父目录还不存在,创建文件前必须先创建父目录

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>

【讨论】:

  • 正是我需要的。谢谢!
【解决方案2】:

我想补充一下 Francesco 的回答,您可以使用 dir.exists() 方法询问它是否存在,而不是询问它是否是一个目录。

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

希望对你有帮助

乔纳坦

【讨论】:

    猜你喜欢
    • 2010-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-02
    • 2013-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多