将文件写入外部存储器android FileNotFoundException

时间:2016-08-25 13:35:40

标签: android filenotfoundexception

我想在android中将文件写入外部存储,但是获取FileNotFoundException。我已经提出了许可

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

在我的清单中,如果我像

那样进行检查
Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)

它返回true。我从SO的问题(Android saving file to external storage; Write a file in external storage in Android; Writing to external storage filenotfoundexception)尝试了不同的解决方案,但似乎没有一个对我有用。很抱歉发布了一个重复的问题,但我一直在寻找几天,但无法找到答案。

我的代码如下:

private void Writing(String erg) {

        TextView one = (TextView) findViewById(R.id.e1);

        File root = android.os.Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS);

        File dir = new File (root.getAbsolutePath());
        dir.mkdirs();
        File file = new File(dir, "Test.txt");

        try {
            FileOutputStream f = new FileOutputStream(file);
            PrintWriter pw = new PrintWriter(f);
            pw.println(erg);
            pw.flush();
            pw.close();
            f.close();
            one.setText("File created");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
            one.setText("Error1");
        } catch (IOException e) {
            e.printStackTrace();
            one.setText("Error2");
        }

    }

Textview最终会打印 Error1

我会感激任何帮助。

0 个答案:

没有答案