Ruta de Android al archivo txt de activos

Estoy haciendo:

FileReader fin = new FileReader("file:///android_asset/myFile.txt");

en un proyecto de Android y muchas variaciones. En tiempo de ejecución obtengo una excepción de archivo no encontrado. El archivo está presente y es correcto en la carpeta de activos, por lo que mi ruta debe estar equivocada.

¿Cuál es el camino absoluto que necesito aquí?

 AssetFileDescriptor descriptor = getAssets().openFd("myfile.txt"); FileReader reader = new FileReader(descriptor.getFileDescriptor()); 

Intente usar lo anterior con FileDescriptors. Parece ser la forma más infalible que he encontrado para recostackr rutas de activos.

  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; } 

Puedes usar algo como

  try { BufferedReader br = new BufferedReader(new InputStreamReader(context.getAssets().open("fileName.txt"))); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } 

No lo está leyendo porque todos los activos en la carpeta de activos están comprimidos, intenta cambiar su extensión a .mp3 y luego léelo, lo que evitará que se comprima.

Descubrí que si está usando un IDE como Eclipse, es posible que necesite hacer una limpieza o eliminar la API en el directorio bin. Parece que los activos no se actualizan cuando haces una comstackción.

 AssetManager am = context.getAssets(); InputStream fs = am.open("myFile.txt"); 
    Intereting Posts