私がやっている:
FileReader fin = new FileReader("file:///android_asset/myFile.txt");
Android プロジェクトと多くのバリエーションで。実行時に、ファイルが見つからないという例外が発生します。ファイルはアセット フォルダーに存在し、正しいので、パスが間違っているはずです。
ここで必要な絶対パスは何ですか?
AssetFileDescriptor descriptor = getAssets().openFd("myfile.txt");
FileReader reader = new FileReader(descriptor.getFileDescriptor());
上記を FileDescriptors で使用してみてください。アセット パスを収集するために私が見つけた最も確実な方法のようです。
InputStream is = getResources().getAssets().open("terms.txt");
String textfile = convertStreamToString(is);
public static String convertStreamToString(InputStream is)
throws IOException {
Writer writer = new StringWriter();
char[] buffer = new char[2048];
try {
Reader reader = new BufferedReader(new InputStreamReader(is,
"UTF-8"));
int n;
while ((n = reader.read(buffer)) != -1) {
writer.write(buffer, 0, n);
}
} finally {
is.close();
}
String text = writer.toString();
return text;
}
アセットフォルダ内のすべてのアセットが圧縮されているため、読み取れません。拡張子を.mp3に変更してから読み込んでください。これにより、圧縮が停止します。
次のようなものを使用できますか
try {
BufferedReader br = new BufferedReader(new InputStreamReader(context.getAssets().open("fileName.txt")));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Eclipse のような IDE を使用している場合は、bin ディレクトリの API を削除するか、クリーンアップする必要があるかもしれません。ビルド時にアセットが更新されていないようです。
AssetManager am = context.getAssets();
InputStream fs = am.open("myFile.txt");