Trabajo con ficheros I

Hola CubaCoders:

Esta semana les traigo un tutorial que decidí dividir en 2 partes y tratará sobre el manejo de ficheros en Android, el primero que es el de hoy será sobre manejar ficheros en la memoria interna de nuestro dispositivo Android y el segundo será sobre manejarlos en la memoria externa y sin más vueltas vamos a eso.

Lo primero que debemos tener en cuenta es que debe existir espacio de almacenamiento pues hay dispositivos que no cuentan con gran capacidad interna y no debemos abusar de esta capacidad con archivos excesivamente grandes. Android nos proporciona un método llamado openFileOutput() que nos permitirá escribir ficheros dentro de la memoria interna y recibe como parámetros el nombre del fichero y el modo de acceso que puede ser:

MODE_PRIVATE: acceso privado de nuestra aplicación, crea el fichero y si el mismo ya existe lo sobrescribe.

MODE_APPEND: añade datos a un fichero ya existente.

MODE_WORLD_READABLE: permite que otras aplicaciones lean el fichero.

MODE_WORLD_WRITABLE: permite que otras aplicaciones escriban en el fichero.

Es importante tener en cuenta que las 2 últimas no deben utilizarse dada su peligrosidad además de que han sido declaradas obsoletas (deprecated) desde la API 17 (Android 4.2 Jelly Bean) así que puede ser que no funcionen en versiones más actuales de Android.

Este método devuelve una referencia al stream de salida asociado al fichero en forma de objeto FileOutputStream y a partir de este ya podemos manipularlo como un fichero tradicional de java por ejemplo vamos a escribir un fichero y dentro le vamos a poner un texto

try

       {

           OutputStreamWriter out = new OutputStreamWriter(openFileOutput(“prueba.txt”, Context.MODE_PRIVATE));

           out.write(“Hola soy un fichero en la memoria interna”);

           out.close();

       } catch (Exception e) {

           Log.e(“Ficheros”, “Error al escribir en la memoria interna”);

       }

Ahora ya hemos creado un fichero, pero se estarán preguntando donde esta creado, pues al igual que las bases de datos SQLite Android también designa una dirección para este fichero que en este caso será:

/data/data/paquete_de_la_aplicacion/files/nombre_del_fichero

 

Ahora vamos a ver como leer de este fichero, para esto necesitaremos el método openFileInput() y los métodos de lectura de java como es el caso de BufferedReader y lo haremos de la siguiente forma:

try {

           BufferedReader br = new BufferedReader(new InputStreamReader(openFileInput(“prueba.txt”)));

           String texto = br.readLine();

           br.close();

       } catch (Exception e) {

           Log.e(“Ficheros”,”Error al leer de la memoria interna”);

       }

 

Con esto ya tenemos una forma de escribir y leer ficheros guardados en la memoria interna de nuestro dispositivo, espero que les resulte de mucha ayuda, no se olviden de comentar y no se pierdan los próximos tutoriales.

Share
Soy Ingeniero en Ciencias Informáticas, me encanta programar sobre todo en C# y Android

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *