I\'m doing:
FileReader fin = new FileReader(\"file:///android_asset/myFile.txt\");
in an Android project and many variations. At runtime I get a
AssetFileDescriptor descriptor = getAssets().openFd("myfile.txt");
FileReader reader = new FileReader(descriptor.getFileDescriptor());
Try using the above with FileDescriptors. Seems to be the most foolproof way I've found to gather asset paths.
AssetManager am = context.getAssets();
InputStream fs = am.open("myFile.txt");
Its not reading it because all assets in assets folder are compressed, try changing its extension to .mp3 then read it in, that should stop it from being compressed.
Can you use something like
try {
BufferedReader br = new BufferedReader(new InputStreamReader(context.getAssets().open("fileName.txt")));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
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;
}
I found that if you are using an IDE like Eclipse you may need to do a clean -- or delete the API in the bin directory. It seems that the assets isn't getting updated when you do a build.