La ruta de acceso de Android al archivo txt de activos
Estoy haciendo:
FileReader fin = new FileReader("file:///android_asset/myFile.txt");
- ¿Por qué Android está buscando los recursos QVGA en el orden incorrecto mdpi> hdpi> ldpi?
- Recursos de referencia en javadoc
- ¿Hay alguna manera de utilizar los recursos android no públicos en mi aplicación?
- ¿Cómo puedo obtener recursos por nombre (cadena) y no por entero
- Recurso de cadena con símbolo "%"
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 correcto en la carpeta de activos, por lo que mi ruta de acceso debe estar equivocada.
¿Cuál es el camino absoluto que necesito aquí?
- Alcance de los valores de R.id
- ¿Por qué resource.getStringArray (int) lanzará una excepción?
- Diferentes carpetas de valores en android
- ¿Agregar nuevas líneas a un recurso de texto en Android?
- Gradle Robolectric Resources NotFoundException en pruebas
- Cómo encontrar View from string en vez de R.id
- Localización y travesaños
- Android: ¿Cómo combinar Spannable.setSpan con String.format?
AssetFileDescriptor descriptor = getAssets().openFd("myfile.txt"); FileReader reader = new FileReader(descriptor.getFileDescriptor());
Intente utilizar lo anterior con FileDescriptors. Parece ser la forma más infalible que he encontrado para recoger 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; }
No lo está leyendo porque todos los activos en la carpeta de activos están comprimidos, trate de cambiar su extensión a .mp3 y luego lo lea, eso debería impedir que se comprima.
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(); }
Encontré que si usted está utilizando un IDE como Eclipse usted puede necesitar hacer una limpieza – o suprimir la API en el directorio del compartimiento. Parece que los activos no se actualiza cuando se hace una compilación.
AssetManager am = context.getAssets(); InputStream fs = am.open("myFile.txt");
- Android Gradle: cambia dinámicamente versionName en tiempo de compilación
- ¿Cómo podemos trabajar en torno al título en blanco en PagerTitleStrip y PagerTabStrip?