FileNotFoundException:/storage/emulated/0/Android
我尝试使用此文件编写器/读取器代码段进行测试:FileNotFoundException:/storage/emulated/0/Android,android,file,ioerror,Android,File,Ioerror,我尝试使用此文件编写器/读取器代码段进行测试: File file = new File(Environment.getExternalStorageDirectory(), "LM/lm_lisdat_01.txt"); FileOutputStream outputStream = new FileOutputStream(file); outputStream.write(("test").getBytes()); outputStream.close(); File file = ne
File file = new File(Environment.getExternalStorageDirectory(), "LM/lm_lisdat_01.txt");
FileOutputStream outputStream = new FileOutputStream(file);
outputStream.write(("test").getBytes());
outputStream.close();
File file = new File(getExternalFilesDir(null), "LM/lm_lisdat_01.txt");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
在第四节。行i在下面收到此错误消息,但“lm_lisdat_01.txt”文件是在lm目录中创建的:
java.io.FileNotFoundException:/storage/emulated/0/Android/data/hu.abisoft.lm/files/lm/lm\u lisdat\u 01.txt:open failed:enoint(没有这样的文件或目录)
你能帮任何人回答这个(我认为很简单)问题吗?我是机器人新手。谢谢大家! 您正在一个目录中创建文件,并试图在另一个目录中打开它以进行输入
Environment.getExternalStorageDirectory()
is/storage/emulated/0
getExternalFilesDir(null)
is/storage/emulated/0/Android/data/hu.abisoft.lm/files
使用相同的目录创建和输入文件。请查看更改。你走错了路 并检查文件是否存在
File file = new File(Environment.getExternalStorageDirectory(), "LM/lm_lisdat_01.txt");
FileOutputStream outputStream = new FileOutputStream(file);
outputStream.write(("test").getBytes());
outputStream.close();
File file = new File(Environment.getExternalStorageDirectory(), "LM/lm_lisdat_01.txt");//changes here
if(file.exists())
{
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
}
使用sdk,您无法写入内部存储的根目录。这会导致你的错误。 编辑: 根据您的代码,要在sdk中使用内部存储,请执行以下操作:
final File dir = new File(context.getFilesDir() + "/nfs/guille/groce/users/nicholsk/workspace3/SQLTest");
dir.mkdirs(); //create folders where write files
final File file = new File(dir, "BlockForTest.txt");
非常感谢。这是正确的答案。我在读卡器中使用了错误的函数。