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

在Android中创建文本文件会导致FileNotFoundException[duplicate]

郎鸿
2023-03-14

我正在开发一个通过BLE获取数据并将其保存在文本文件中的应用程序。

try {
        System.out.println(Environment.getExternalStorageState());
        File root =new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS), "BLE_Crawler");
        if (!root.exists()) {
            root.mkdirs();

        }
        File file = new File(root, fileName +".txt");
        if (!file.exists()) {

                file.createNewFile();

        }
        FileWriter writer = new FileWriter(file, true);
        writer.append("test");
        writer.flush();
        writer.close();

    } catch (IOException e) {
        e.printStackTrace();
    }
W/System.err: java.io.FileNotFoundException: /storage/emulated/0/Documents/BLE_Crawler/test.txt: open failed: ENOENT (No such file or directory)
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

我使用的是SDKVersion29。

共有1个答案

樊奇思
2023-03-14

是否尝试添加:

    android:requestLegacyExternalStorage="true"

是否在 标记中添加到清单中?此外,不要忘记,在Android6.0中,即使将权限写入清单中,也需要请求权限。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        String[] permissions = new String[]{READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE};
        for (int i = 0; i < permissions.length; i++) {
            if (checkSelfPermission(permissions[i]) != PackageManager.PERMISSION_GRANTED) {
                requestPermissions(permissions,
                        REQUEST_PERMISSIONS);
                return;
            }
        }
    }
 类似资料:
  • 我正在Docker容器中运行一个罐子。我的应用程序的功能是连接到一个数据库,获取记录并将其输出到一个名为Reports的文件夹中的.csv文件中。 绑定应用程序是否保留了项目结构?(因为我需要在docker容器中手动创建一个名为reports的文件夹)我需要以任何方式为创建的文件夹(reports)提供权限吗?(我在这里就是这么做的)

  • 问题内容: import java.io.File; File folder = new File(Environment.getExternalStorageDirectory() + “/TollCulator”); boolean success = true; if (!folder.exists()) { //Toast.makeText(MainActivity.this, “Dire

  • 问题内容: 我想在此处创建的文件夹中创建一个文本文件。 但是此代码不会将文本文件创建到该文件夹​​中。而是将文本文件放置在该文件夹之外。 问题答案: java.io.File的构造函数之一带有一个父目录。您可以改为:

  • 我不熟悉android camera API,代码中调用了PictureCallback,其中包含: 对这一行指出的例外情况是: 因为我是Android世界的新手,我不知道这个环境到底在哪里。getExternalStorageDirectory()指出。 例外说明: JAVA木卫一。FileNotFoundException:/storage/emulated/0 est。jpg:打开失败:EA

  • 我想在Android Studio中为我的库创建一个aar文件,我会使用一个jar选项,但我的库有资源。 知道如何从库中创建aar文件吗?

  • 嗨,我正试图从我的android设备上传一个文件到我的服务器。在我的虚拟设备上,一切都工作得很好,但在我的实际设备上,我总是得到一个文件未找到的错误。下面是我的代码,请有人帮帮我 在我的日志猫中,我得到了我的绝对路径字符串,我可以看到文件被存储,它说。我正在使用SDK29开发应用程序 下面是我的日志猫 I/chatty:uid=10070(Brianyobra.bramcode.thuo)Fina