1

这是我需要访问 txt 文件“USSTATES.txt”的代码。

 public int count(String filename) throws IOException {
InputStream is = new BufferedInputStream(new FileInputStream(filename));

我应该将文件保存在硬盘的哪个位置?我尝试将它放在资产文件夹和应用程序的根文件夹中,但运行代码时仍然出现“没有这样的文件或目录”错误。

4

2 回答 2

3

我应该将文件保存在硬盘的哪个位置?我尝试将它放在资产文件夹和应用程序的根文件夹中,但运行代码时仍然出现“没有这样的文件或目录”错误。

所以通常你有几个基于文件字符、文件内容、文件大小的选项。

  • 将文件保存到 sd 卡
  • 将文件保存到资产文件夹
  • 将文件保存到原始文件夹

例子:

SD卡:

private final String path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/filename.txt";
FileInputStream is = new FileInputStream(path);

资产文件夹:

InputStream is = getAssets().open("filename.txt");
BufferedInputStream bis = new BufferedInputStream(is);

原始文件夹:

InputStream is = getResources().openRawResource(R.id.filename);
BufferedInputStream bis = new BufferedInputStream(is);

建议:

如果您的文件较小,通常将其保存到 assets 文件夹或 raw 文件夹中。如果有更大的尺寸,例如 5-10+ MB,更好的解决方案是将其放入 SD 卡中。

于 2013-03-16T11:43:45.420 回答
0

您必须将文件放在资产文件夹中

要访问它,您可以这样做。

AssetManager am = getApplicationContext().getAssets();
InputStream is = am.open("file_name.txt");
于 2013-03-16T11:33:25.653 回答