Android-java.io.FileNotFoundException:/storage/emulated/0/Notes/File.txt:open failed:enoint(没有这样的文件或目录)
我发现很多主题都有相同的问题,但它们无法解决我的问题。 我最初编写的文件如下所示:`Android-java.io.FileNotFoundException:/storage/emulated/0/Notes/File.txt:open failed:enoint(没有这样的文件或目录),java,android,bufferedreader,readfile,filenotfoundexception,Java,Android,Bufferedreader,Readfile,Filenotfoundexception,我发现很多主题都有相同的问题,但它们无法解决我的问题。 我最初编写的文件如下所示:` File root = new File(Environment.getExternalStorageDirectory(), "Notes"); if (!root.exists()) { root.mkdirs(); } File notefile = new File(root, sFileName); FileWriter writer = null;
File root = new File(Environment.getExternalStorageDirectory(), "Notes");
if (!root.exists()) {
root.mkdirs();
}
File notefile = new File(root, sFileName);
FileWriter writer = null;
try {
writer = new FileWriter(notefile);
} catch (IOException e1) {
e1.printStackTrace();
}
try {
writer.append(sBody);
} catch (IOException e1) {
e1.printStackTrace();
}
try {
writer.flush();
} catch (IOException e1) {
e1.printStackTrace();
}
try {
writer.close();
} catch (IOException e1) {
e1.printStackTrace();
}
不要担心试捕障碍,我稍后会清除它们:D。
这是一个读卡器,它应该在同一个目录下工作(如果SD卡不存在,将创建SD卡的“注释”),读取文件,并将其放在通知上,如您所见:`
File root = new File(Environment.getExternalStorageDirectory(), "Notes");
if (!root.exists()) {
root.mkdirs();
}
File file = new File(root, "Nota.txt");
//Read text from file
text = new StringBuilder();
try {
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while ((line = br.readLine()) != null) {
text.append(line);
text.append('\n');
}
br.close() ;
}catch (IOException e) {
e.printStackTrace();
}
我真的不明白为什么我会遇到这个问题,我甚至试着
getExternalStorageDirectory().getAbsolutePath()
但是没有成功
有人能帮我吗?您尝试使用调试器检查根目录是否存在,但执行以下操作时:
File root = new File(Environment.getExternalStorageDirectory(), "Notes");
if (!root.exists()) {
root.mkdirs();
}
我认为在外部存储器中写入文件时,它不会创建文件夹, 您需要启用“写入外部存储”权限 为什么要尝试在外部存储器中写入文件 我的意思是,如果你只想在你的应用程序中使用这个文件,那么就可以使用context.getExternalDirs()来获取你的应用程序的沙盒,它不需要写权限,在android 4.2(Jelly bean)之上 如果您想将文件共享给其他应用程序,那么您做的是正确的 在写入文件之前,请检查是否以编程方式装入外部存储器。问题已解决 我用过安卓。 我将数据存储在MainActivity中,并在我的课堂上接收,如下所示:
- 主要活动
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); SharedPreferences.Editor editor = prefs.edit(); editor.putString("string_id", InputString); //InputString: from the EditText editor.commit();
- 在我的课堂上获取我的数据
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); String data = prefs.getString("string_id", "no id"); //no id: default value