繁体   English   中英

FileNotFoundException:/ storage / emulated / 0 / Android

[英]FileNotFoundException: /storage/emulated/0/Android

我尝试此文件编写器/读取器代码段进行测试:

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)));

在4.行中,我在下面收到此错误消息,但是在LM目录中创建了“ lm_lisdat_01.txt”文件:

java.io.FileNotFoundException:/storage/emulated/0/Android/data/hu.abisoft.lm/files/LM/lm_lisdat_01.txt:打开失败:ENOENT(没有此类文件或目录)

可以帮助任何人回答这个(我认为很简单)的问题吗? 我是Android的newby。 谢谢!

您正在一个目录中创建文件,然后尝试将其打开以在另一目录中输入。

Environment.getExternalStorageDirectory()是/ storage / emulated / 0

getExternalFilesDir(null)是/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");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM