我想在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 。
我会感激任何帮助。