0

我正在尝试在 Java 中为 Android 加载一些资源。这些资源是简单的文本文件,我需要阅读其中的内容。我在读取和写入此类文件方面有相当多的经验,但现在有些东西正在破坏它。

这是我正在使用的代码。

FileInputStream fstream = new FileInputStream("file:///android_asset/Peacefulpack.mod");

所以当我运行它时,它应该Peacefulpack.mod在这个目录中搜索:file:///android_asset/Peacefulpack.mod

但是,当我查看控制台日志时,它告诉我 Java 正在寻找这个目录:file:///android_asset/Peacefulpack.mod

这给了我一个FileNotFoundException. 我怎样才能摆脱它?

4

2 回答 2

1

在 AssetManager 中使用这个方法 public final InputStream open (String fileName)

见: http: //developer.android.com/reference/android/content/res/AssetManager.html#open(java.lang.String)

于 2013-03-31T12:37:07.723 回答
1

我正在尝试在 Java 中为 Android 加载一些资源。

由于您希望使用存储在 Android 预定义目录中的数据,Android 提供了直接为您的目标指定的方法。

乍一看,AssetManager它提供了以下方法:

这很可能是您正在寻找的。方法返回InputStream存储在 assets 文件夹中的文件。

基本用法:

AssetManager am = this.getAssets(); // or YourActivity.this.getAssets()
   try { // generally Context
      InputStream is = am.open("yourFile.suffix");
   }
   catch (IOException e) {
      Log.w("IOException", e.getMessage());
   }

它应该可以解决您的问题。

于 2013-03-31T12:51:24.533 回答