La ruta de acceso de Android al archivo txt de activos
Estoy haciendo:
FileReader fin = new FileReader("file:///android_asset/myFile.txt");
- Eliminar los recursos no utilizados antes del envío
- Android: ¿Cómo combinar Spannable.setSpan con String.format?
- Otros recursos $ NotFoundException en setContentView
- InputStream de la carpeta de activos de Android devuelve vacío
- ¿Cómo puedo cargar una clase de un archivo jar empaquetado en mi archivo .apk?
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í?
- Android: las carpetas de destino res para depurar en eclipse
- Android que soporta todas las tabletas - categorice dibujos y diseños
- Crujido / embalaje de recursos con aapt en hormigas construir utiliza caché de otros proyectos
- Android: ¿Cómo puedo incluir un sonido de notificación utilizando un recurso de sonido?
- Eclipse androide utilizando recurso de cadena para el tamaño de texto en diseños
- ¿Cómo obtener URI de un archivo de activos?
- Icono de Android Launcher - ¿Son mis recursos predeterminados / mdpi redudantes?
- Texto con formas en recurso dibujable
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?