java.io.FileNotFoundException:/ storage / emulated / 0 /下载/ 2017年11月24日(权限被拒绝)

时间:2017-11-26 14:45:43

标签: java android

我正在尝试将字符串保存到以数据库中的日期命名的新文件中。我也给了读写权限。

这是处理创建文件并在其上书写的方法。

  public void saveDocumentOnSD(Context context, String sFileName, String reportDetail) {
            try {
                if (StorageHelper.isExternalStorageReadable() && StorageHelper.isExternalStorageWritable()) {
                  //  File root = new File(Environment.getExternalStorageDirectory().getAbsolutePath());
                    File root = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "");
                    if(!root.exists()) {
                        root.mkdirs();
                    }
                    File file = new File(root, sFileName);

                    FileWriter writer = new FileWriter(file);
                    writer.append(reportDetail+ "\n");
                    writer.flush();
                    writer.close();
                    popUpToast("Saved");
                }
                else{
                    popUpToast("No external storage"); // shows toast
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

我一直收到这个错误: java.io.FileNotFoundException:/ storage / emulated / 0 /下载/ 2017年11月24日(权限被拒绝) 这发生在“FileWriter writer = new FileWriter(file);

这一行

我试图将文件位置更改为

 File root = new File(/mnt/media_rw/sdcard1);

它仍然会出现相同的错误

java.io.FileNotFoundException: /mnt/media_rw/sdcard1/Nov 24, 2017 (Permission denied)

我做错了吗?

这是我的清单:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.coursework.madsleuth">

    <uses-feature android:name="android.hardware.camera2"
        android:required="true"/>

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

    <application

0 个答案:

没有答案