当前位置: 首页 > 知识库问答 >
问题:

尝试在外部存储中创建和写入文本文件时收到异常(Android Studio)

汪深
2023-03-14

下面是我的一个写方法的代码片段,当我想把数据写到这个文件时,我可以调用这个方法。

public void Write(字符串文件,字符串数据){

    File rootsd= Environment.getExternalStorageDirectory();
    File datafolder= new File(rootsd.getAbsolutePath()+"/Data");
    if(!datafolder.isDirectory())
    {
        try
        {
            datafolder.mkdir();
        }
        catch (Exception e)
        {
            Log.e("Error","Directory was not created");
        }
    }
    File datafile= new File(datafolder,file);
    try {
        if (!datafile.exists())
        {
            datafile.createNewFile();
        }
            writer = new BufferedWriter(new FileWriter(datafile));
            writer.write(data);
            writer.close();
    }
    catch (Exception e) {
        Log.e("Error", "File not found");
    }

}

由于某种原因,这会自动进入catch异常并返回File not Found,我不太确定问题是什么,我似乎无法在网上找到解决方案。感谢所有的帮助,谢谢!

编辑:Logcat异常

Caused by: java.io.IOException: open failed: ENOENT (No such file or directory)
        at java.io.File.createNewFile(File.java:941)
        at uwpsych.ocdstopwatch.Q1.Write(Q1.java:157)
        at uwpsych.ocdstopwatch.Q1.SaveData(Q1.java:142)

共有1个答案

白子默
2023-03-14

在您的< code>AndroidManifest.xml中添加

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

如果您想读取文件,请添加和

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
 类似资料:
  • 我是android新手,有时找不到合适的解决方案,这就是其中之一。 我写了一个简单的应用程序来编写使用ITextPdf libray生成的内部pdf。这工作得很好,我可以从设备文件资源管理器中看到pdf文件。现在我正在使用外部存储做同样的事情,但在这种情况下,我不能在下载文件夹中生成文件。我找到了对我的代码不起作用的解决方案。 我的代码: java文件 我在中发现了问题。它返回-1,但我不明白它不

  • 我正在尝试将文件上传到 Azure Blob 存储,但在将文件推送到存储中时收到错误。 我使用java 11和Quarkus进行开发。在POM上,我添加了工件azure-storage-blob和azure-sdk-bom 法典: 恢复错误 io.net.cha.DefaultChannelPipeline] (vert.x-eventloop-thread-2) 一个 exceptionCaug

  • 问题内容: 我有一个网站,每次用户登录或注销时,我都会将其保存到文本文件中。 如果不存在附加数据或创建文本文件,我的代码将不起作用。这是示例代码 再次打开它后,它似乎没有追加到下一行。 另外,我认为在两个用户同时登录的情况下也会出现错误,会影响打开文本文件并随后保存吗? 问题答案: 尝试这样的事情:

  • 问题内容: 我的开发电话正在运行。 在我的应用程序中,我试图在外部存储上创建一个文件夹,该文件夹将存储我的应用程序的调试信息。基本上,它将包含应用程序执行的所有命令,因此,当用户遇到问题时,我可以选择使它们从debug文件夹发送信息给我进行分析。 我首先尝试将文件写入文件夹,但发现创建文件夹时出错。最初,我使用,然后又移至也不起作用。 我有我的清单。 这是用于创建文件夹的代码: 这是我也尝试过的:

  • 问题内容: 为什么不行: 该代码可以正常工作,但无法打开.pdf文件。普通文本文件和pdf有什么区别?如果我想在python中创建并写入pdf文件怎么办? 问题答案: 您可以安装fpdf库,然后:

  • 问题内容: 我的应用程序( Android API 15 )制作图片并将其存储在内部存储器的文件夹中。现在,我想将此文件复制到外部存储中的另一个文件夹,例如。我尝试了以下方法: 方法1: 方法2: 方法3: 这些方法都不能解决我的任务。在检查了许多相关主题之后,我发现的唯一建议是验证 在和它确实存在。 该 方法#1 完成执行,但没有文件夹和文件被复制。 在 方法#2 ,应用程序失败,异常的,但对象

  • 这些方法都不能解决我的任务。中检查了一些相关主题,我发现的唯一建议是验证 在中,并且它仍然存在。 方法#1完成执行,但没有复制文件夹和文件。 因为这是我迈向Android的第一步,我觉得我错过了一些小东西。请告诉我,如何在Android中将文件从一个文件夹复制到另一个文件夹,包括文件从内部内存移动到外部内存。

  • 我的目标是在内部存储上创建一个XML文件,然后通过share Intent发送它。 我能够使用以下代码创建XML文件 我一直在尝试检索输出文件的Uri以共享它。我首先尝试通过将文件转换为Uri来访问该文件 此返回file:///data/data/com.my.package/files/myfile.xml但我似乎无法将此附加到电子邮件、上载等。 如果我手动检查文件长度,它是正确的,并显示有一个