【发布时间】:2010-10-03 19:25:10
【问题描述】:
我在从 Android 应用程序中的 .CSV 文件读取数据时遇到问题。主要是“FileNotFound”错误。哪里是最容易放置文件的地方,它的地址是什么。我一直在玩弄几个不同的地方,但都没有运气。
谁能指出我正确的方向?
【问题讨论】:
我在从 Android 应用程序中的 .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);
}
如果它不存在,则显示 Toast(至少)或以其他方式让用户知道。
然后像这样读:
File f = new File(Environment.getExternalStorageDirectory() + "/mycsvlocation/myfile.csv");
然后你可以使用常规的File方法来检查它是否存在,它是否可读等,然后使用它。
另请注意,文档建议您使用 SD 卡上的位置,例如“Android/data//files”,这是一个合理的建议,但许多应用只使用“/appname/”等。
还有一件事,当然,您只需安装 SD 卡并创建该结构并复制文件即可将文件放在那里。或者,您也可以通过编程方式(从您的应用程序)执行此操作,但听起来您已经拥有该文件,并且只想阅读它。
【讨论】: