2012-02-02 14 views
27

Tengo un archivo de texto que quiero incluir en mi aplicación Android, no es un archivo de cadena, es un archivo de texto estándar. Contiene datos que definen las características de un "mapa" que se dibuja en un tablero. El archivo no es un archivo XML, así que no estoy seguro de dónde debería ponerlo o si esta no es una buena estructura de archivos para Android. ¿Se supone que debes hacer esto? Si estás bajo qué directorio se supone que debes ponerlos? ¿Cómo se supone que debes acceder al archivo? Sé cómo usar FileInputStreams y FileOutputStreams, solo necesito saber cómo acceder al archivo. ¡Todas las respuestas relevantes son bienvenidas y apreciadas!Dónde poner archivos de texto en el directorio de Android

+0

Parece que alguien ya encontró la respuesta en otra pregunta [aquí] [1]. [1]: http://stackoverflow.com/questions/4087674/android-read-txt-raw-resource-file – onit

Respuesta

41

Utilice la carpeta assets o raw en su estructura de carpetas de Android para guardar ese archivo. Para obtener más información, lea this

+1

aceptado La respuesta aceptada aquí tiene más información sobre la carpeta assets: http://stackoverflow.com/questions/18302603/where-to-place-assets-folder-in-android-studio – Colin

+0

¿Cómo puedo leer el archivo de la carpeta de aplicaciones en la aplicación de Android? Si guardo el archivo .properties en la carpeta de activos, entonces es visible mediante ingeniería inversa. –

+1

Nunca hornee sus cosas secretas dentro de la aplicación/código fuente ... siempre solicite de una fuente en línea donde tendrá más control. Esta es la regla de oro. – waqaslam

19

Debe colocar su archivo en la carpeta de activos como dijo Waqas.

Ahora, para acceder, lo hace así.

Os pongo un ejemplo usando BufferedReader

BufferedReader reader = new BufferedReader(
       new InputStreamReader(getAssets().open("YourTextFile.txt"))); 

tener cuidado. En mi caso, no sé por qué por ahora, no puedo leer archivos de texto de más de ~ 1 MB y tuve que dividirlos en varios archivos pequeños. Parece que el otro tenía el mismo problema de tamaño de archivo, pero no encontré ninguna información sobre eso en el sitio del desarrollador de Android. Si alguien sabe más sobre esto ....

SEGUIMIENTO

Mi problema con el 1 MB se debió a un error know/limitación de las versiones anteriores de Android. Desde el uso de versiones recientes de Android, ese problema ya no está presente.

+0

Acabo de pensar que faltaba Waqas y mostraba un ejemplo cuando me preguntabas "solo necesito saber cómo acceder al archivo", y para mí la respuesta era "incompleta" y también para advertirte sobre el tamaño del archivo de texto. ¡Pero no es una competencia! Estamos aquí para ayudar a los demás – HpTerm

+3

Puede acceder a los bienes sin abrir una transmisión y leer el archivo byte por byte. En su lugar, puede usar 'file: // android_asset/file.txt' que le da acceso al archivo de inmediato. Puede crear un objeto File fuera de él o hacer lo que quiera. – asenovm

Cuestiones relacionadas