context.fileOpenInput(...) - 文件不存在......但它确实存在

时间:2014-06-03 13:38:12

标签: java android

我可能在这里做了些蠢事,但我的应用程序无法从外部存储中读取数据。但我可以写文件就好了。事实上,我从FTP服务器中提取文件并将它们写入外部存储器,工作正常。但是一旦我尝试用它们阅读它们:

getApplicationContext().openFileInput(files[i]); 

我得到java.io.FileNotFoundException:/ data / data / co.za.infestation.opendesign.app / files / event1.txt:open failed:ENOENT(没有这样的文件或目录)

这很奇怪,因为我知道文件存在。我知道files [i]具有正确的文件名,因为我之前打印过它们:

String[] files = getExternalFilesDir(null).list();

是的,我确实在清单文件中添加了权限......是的,我确实对文件名进行了硬编码而没有成功。也许我需要更多的咖啡。

谢谢!

1 个答案:

答案 0 :(得分:1)

openFileInput() 

用于打开驻留在私有内部存储器中的文件。您可以看到错误路径:

/data/data/co.za.infestation.............

尝试使用

打开
FileInputStream()

代替。