Você está na página 1de 5

PROCESAMIENTO DE ARCHIVOS.

Ing. Jorge Ortega Bentez


En las aplicaciones de Android, adems de los Archivos de Preferencias, tambin
se pueden procesar otros tipos de archivos como son: Los Archivos en Memoria
Externa, en Memoria Interna y los Archivos de Recursos. La informacin
registrada por los usuarios y/o generada por las aplicaciones podr ser
almacenada y recuperada cuando sea necesario.

PROCESAMIENTO DE ARCHIVOS EN MEMORIA EXTERNA.


Los dispositivos de Android pueden tener una unidad (o ms) de almacenamiento
externo del tipo Micro SD, desde las aplicaciones de Android se puede acceder
a este tipo de memorias para crear directorios y archivos, y leer o escribir
informacin en ellos.
Escritura de Datos en Archivos Externos.
Se usa la clase File del contenedor java.io y las clases FileOutputStream y
PrintWriter. Tambin la clase Environment de Android ofrece informacin
acerca del dispositivo de almacenamiento.
Se utiliza:
Environment.getExternalStorageState();
Para determinar si existe la tarjeta SD y si est disponible (mounted).
Enseguida se usa:
File raz = Environment.getExternalStorageDirectory();
Para identificar el directorio correspondiente (de tipo File) a la tarjeta SD.
Despus se crea el subdirectorio deseado trabajo
File nuevodir=new File(raiz.getAbsolutePath()+"/trabajo");
nuevodir.mkdirs();
Se crea el flujo para escribir y/o leer informacin en el archivo
// Para escribir informacion

File arch=new File(nuevodir,"datos1.txt");


----FileOutputStream fos=new FileOutputStream (arch);
PrintWriter pw=new PrintWriter(fos);
pw.println("Creando la primera linea del archivo...");
--pw.flush();
pw.close();
--// Para leer informacin
BufferedReader
lee
=
new
BufferedReader
(raiz.getAbsolutePath() + "/trabajo/datos1.txt"));

new

FileReader

String cad="";
--cad=lee.readLine();
--lee.close();
NOTA: Dependiendo del sistema operativo se pueden presentar errores al crear
el directorio y/o procesar el archivo, si este es el caso, se debe a que la
Actividad no tiene permiso para escribir. Este permiso se debe declarar en el
archivo de manifiesto del proyecto agregando la siguiente clausula:
<uses-permission
android:name=android.permission.WRITE_EXTERNAL_STORAGE>
</uses-permission>
NOTA: Ver ejemplos ArchivosSD1 y ArchivosSD2.

PROCESAMIENTO DE ARCHIVOS EN MEMORIA INTERNA.


En este caso se deben crear archivos pequeos, tomando en cuenta las
limitaciones de memoria que tienen algunos dispositivos.
Android ofrece los mtodos:
openFileOutput()
El cual recibe entre sus parmetros el nombre del archivo y el modo de acceso.
Donde el modo de acceso puede ser:
MODE_PRIVATE Es el modo por default, para acceso privado de la aplicacin.
MODE_APPEND Para agregar datos a un archivo existente.
MODE_WORLD_READABLE Permite que otras aplicaciones lean el archivo.
MODE_WORLD_WRITABLE Permite que otras aplicaciones escriban en el
archivo.
Este mtodo devuelve una referencia a un flujo de salida de tipo
FileOutputStream del contenedor java.io, este flujo puede ser filtrado o
convertido a cualquier otro tipo de flujo (OutputStreamWriter, etc) para usar
los mtodos para procesar los tipos de informacin deseada.
El siguiente bloque de instrucciones muestra como escribir y leer informacin
en un archivo en memoria interna:
// Para escribir
OutputStreamWriter archout = new OutputStreamWriter (openFileOutput
("interno.txt",Context.MODE_PRIVATE));
archout.write("Primera linea interna...\n");
--archout.close();
---

// Para leer
BufferedReader lee;
lee=new
InputStreamReader(openFileInput("interno.txt")));

BufferedReader(new

String cad;
--cad=lee.readLine();
--lee.close();
---

NOTA: El archivo en memoria interna, se guarda en una ruta determinada por el


sistema operativo, la cual puede cambiar dependiendo del dispositivo o la versin
de Android.

NOTA: Ver ejemplo interno.

PROCESAMIENTO DE ARCHIVOS DE RECURSOS EN MEMORIA INTERNA.


Otra forma de trabajar con archivos en la memoria interna es incluirlos como
recurso de la propia aplicacin, en este caso se tiene acceso a solo lectura.
Para incluir un archivo como recurso de la aplicacin se debe colocar en la
carpeta /res/raw del proyecto, sino esta creada la carpeta raw se crea con
el botn derecho del mouse y se agrega o edita el archivo deseado.
Para acceder al archivo de recursos de la aplicacin se usan los mtodos:
getResources().openRawResource(R.raw.idrecurso);
donde idrecurso es el nombre del archivo de recursos sin extensin.

Este mtodo devuelve un flujo de tipo InputStream el cual se puede manipular


con las clases y mtodos de la API java.io para leer de diferentes formas el
archivo.
El siguiente bloque de instrucciones muestra como leer un archivo de recursos
datos1.txt en memoria interna:
// Solo lectura
InputStream lee=getResources().openRawResource(R.raw.datos1);
InputStreamReader flujo=new InputStreamReader(lee);
BufferedReader buffer=new BufferedReader(flujo);
--String linea;
--linea=buffer.readLine();
--lee.close();
flujo.close();
buffer.close();
---

NOTA: Ver ejemplo Archinterno1

Você também pode gostar