La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Archivos Binarios. Introducción En clase ya vimos el uso de archivos de texto en Java, pero el uso de archivos es mucho más poderoso que eso, al utilizar.

Presentaciones similares


Presentación del tema: "Archivos Binarios. Introducción En clase ya vimos el uso de archivos de texto en Java, pero el uso de archivos es mucho más poderoso que eso, al utilizar."— Transcripción de la presentación:

1 Archivos Binarios

2 Introducción En clase ya vimos el uso de archivos de texto en Java, pero el uso de archivos es mucho más poderoso que eso, al utilizar archivos podemos guardar o leer cualquier cosa: int, double, String, boolean, etc. Todos estos datos los podemos guardar y leer desde archivos mediante un tipo especial de archivos llamados Archivos Binarios. Para poder utilizar archivos binarios, al igual que cuando vamos a utilizar archivos, es necesario importar la librería java.io.* para que podamos utilizar todas las funciones de leer y escribir.

3 Archivos Binarios Los archivos binarios guardan una representación de los datos en el archivo, es decir, cuando guardamos texto no guardan el texto en si, sino que guardan su representación en un código llamado UTF-8.

4 Los dos tipos de objetos que vamos a utilizar para leer de archivos son el DataInputStream y el DataOutputStream. Si quieres saber más sobre estos dos objetos puedes entrar al API http://java.sun.com/j2se/1.4.2/docs/api/java/io/DataInputSt ream.html http://java.sun.com/j2se/1.4.2/docs/api/java/io/DataInputSt ream.html http://java.sun.com/j2se/1.4.2/docs/api/java/io/DataOutput Stream.html http://java.sun.com/j2se/1.4.2/docs/api/java/io/DataOutput Stream.html Archivos Binarios

5 El constructor que vamos a utilizar en esta clase para iniciar el DataInputStream es: DataInputStreamDataInputStream(new FileInputStream(fileName)); Donde fileName es un String con el nombre del archivo que queremos abrir. Este constructor crea un objeto tipo DataInputStream que podemos utilizar para leer archivos binarios. DataInputStream

6 Los métodos más útiles de DataInputStream son: String readUTF() byte readByte() int readInt() long readLong() double readDouble() short readShort() boolean readBoolean() Como pudiste ver estos métodos sirven para leer los diferentes tipos de datos que hemos manejado en clase. DataInputStream

7 Ejemplo de Lectura String fileName = C:\Archivo.dat; DataInputStream fileIn = new DataInputStream(new FileInputStream(fileName)); try { String unString = fileIn.readUTF(); int unInt = fileIn.readInt(); double unDouble = fileIn.readDouble() } catch (IOException ioe) { } Primero declaramos el objeto De tipo DataInputStream Iniciamos el DataInputStream con un nuevo FileInputStream con el nombre del archivo. Estos métodos nos sirven para leer diferentes tipos de datos del Archivo. Los datos permanecen guardados en las variables y los podemos utilizar después. Siempre que leemos y guardamos en archivos tenemos que ponerlo en un try -> catch.

8 Un pequeño ejercicio: Imagina que tuvieras que leer de un archivo los datos de un alumno (nombre y matrícula) ¿Qué tipos de datos usarías? ¿Cómo leerías los datos en un archivo de texto? ¿Cómo harías lo mismo en un archivo binario? DataInputStream

9 El constructor que vamos a utilizar en esta clase para iniciar el DataOutputStream es: DataOutputStreamDataOutputStream(new FileOutputStream(fileName)); Como puedes observar el constructor es muy similar al anterior ya que en esencia funciona de la misma manera. Con este nuevo objeto DataOutputStream vamos a poder escribir en archivos binarios. DataOutputStream

10 Los métodos más útiles de DataOutputStream son: void writeUTF(String s) void writeByte(byte b) void writeInt(int i) void writeLong(long l) void writeDouble(double d) void writeShort(short s) void writeBoolean(boolean b) Como puedes ver son muy similares a los de lectura, únicamente que en vez de devolver datos, los escriben. DataOutputStream

11 Ejemplo de Escritura String fileName = C:\Archivo.dat; DataOutputStream fileOut = new DataOutputStream(new FileOutputStream(fileName)); try { String unString = Hola mundo! fileOut.writeUTF(unString); // Es lo mismo que fileOut.writeUTF(Hola mundo!) int i = 5; fileOut.writeInt(i); // Es lo mismo que // fileOut.writeInt(5) catch (IOException ioe) { } Primero declaramos el objeto De tipo DataOutputStream Iniciamos el DataOutputStream con un nuevo FileOutputStream con el nombre del archivo. Estos métodos nos sirven para escribir diferentes tipos de datos al archivo, una vez que estén guardados podemos abrir el archivo binario y leerlo con el DataInputStream como ya vimos anteriormente.

12 Siguiendo con el ejercicio: Ahora vamos a imaginar que quisiéramos escribir un alumno en un archivo (como puedes recordar tiene nombre y matrícula). ¿Cómo escribirías a un archivo de texto? ¿Cómo harías lo mismo en un archivo binario? DataOutputStream

13 Ventajas de Archivos Binarios Posiblemente con el ejercicio te diste cuenta de la enorme ventaja que representan los archivos binarios sobre los archivos de texto. Para poder leer diferentes tipos de dato de un archivo de texto hay que hacer casting, y además es muy difícil saber donde empieza y donde termina cada dato (imagina ahora, que no sólo tienes que leer la matrícula sino también la edad y el peso, cómo saber cuál es cuál)


Descargar ppt "Archivos Binarios. Introducción En clase ya vimos el uso de archivos de texto en Java, pero el uso de archivos es mucho más poderoso que eso, al utilizar."

Presentaciones similares


Anuncios Google