我在安卓应用中读取.CSV文件时遇到了问题,主要是“FileNotFound”错误。最容易放置文件的地方在哪里,它的地址是什么?我已经尝试过几个不同的位置,但都没有成功。请问有人能指点我吗?
你可能希望将其放在可移动存储(SD卡)上。首先,您需要检查存储是否可用,然后进行读/写操作。
文档中有一些关于此的注释:http://developer.android.com/intl/de/guide/topics/data/data-storage.html#filesExternal (注意那里的API级别8的内容,例如getExternalFilesDir,我还没有使用过,但看起来很方便,如果您可以保证> = 8。)
您可以使用以下类似代码来检查存储是否存在:
public boolean isExternalStorageAvail() {
return Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);
}
File f = new File(Environment.getExternalStorageDirectory() + "/mycsvlocation/myfile.csv");
然后,您可以使用常规的 File 方法来检查它是否存在、可读等,然后使用它。
另外,请注意文档建议您在SD卡上使用像"Android/data//files"之类的位置,这是一个合理的建议,但许多应用程序只使用"/appname/"或类似的位置。
并且——还有一件事,您可以通过挂载SD卡并创建该结构并复制文件来将文件放在那里,当然也可以从您的应用程序中以编程方式完成,但听起来您已经有了该文件,并且只想阅读它。