Está en la página 1de 24

Archivos

Ing. Tatiana Gualotuña


Escritura de archivos binarios
 La clase DataOutputStream es útil para escribir datos del tipo
primitivo de una forma portable. Esta clase tiene un sólo constructor
que toma un objeto de la clase OutputStream o sus derivadas como
parámetro.

 Se crea un objeto de la clase DataOutputStream vinculándolo a un


un objeto FileOutputStream para escribir en un archivo en disco
denominado pedido.txt.

 FileOutputStream fileOut=new FileOutputStream("pedido.txt");


DataOutputStream salida=new DataOutputStream(fileOut));o en
una sola línea

 DataOutputStream salida=new DataOutputStream(new


FileOutputStream("pedido.txt"));
Métodos Clase DataOutputStream
 La clase DataOutputStream define diversos
métodos writeXXX para escribir datos de tipo primitivo

 void writeBoolean(boolean v);


void writeByte(int v);
void writeBytes(String s);
void writeShort(int v);
void writeChars(String s);
void writeChar(int v);
void writeInt(int v);
void writeLong(long v);
void writeFloat(float v);
void writeDouble(double v);
Lectura de archivos binarios
 La clase DataInputStream es útil para leer datos del tipo
primitivo de una forma portable. Esta clase tiene un sólo
constructor que toma un objeto de la clase InputStream o
sus derivadas como parámetro.

 Se crea un objeto de la clase DataInputStream vinculándolo


a un un objeto FileInputStream para leer desde un archivo
en disco denominado pedido.txt..

 FileInputStream fileIn=new FileInputStream("pedido.txt");


DataInputStream entrada=new DataInputStream(fileIn));

 o en una sola línea


 DataInputStream entrada=new DataInputStream(new
FileInputStream("pedido.txt"));
Métodos Clase DataInputStream
 La clase DataInputStream define diversos
métodos readXXX para leer datos de tipo primitivo

 boolean readBoolean();
byte readByte();
int readUnsignedByte();
short readShort();
int readUnsignedShort();
char readChar();
int readInt();
String readLine();
long readLong();
float readFloat();
double readDouble();
Escritura de archivos binarios
Clase FileOutputStream
Clase ObjectOutputStream
Lectura de archivos binarios
Clase FileInputStream
Clase InputObjectStream
Archivos binarios de objetos
Serialización
 Existen dos stream que permiten serializar y deserializar un
objeto
 Serializar significa transformar un objeto en una secuencia
de bytes para escribirlo en un stream
 Deserializar significa transformar una secuencia de bytes
leida de un stream en un objeto
 Esta posibilidad es muy util para
 Persistir objetos (instancias)
 Transmitir objetos (instancias)
 Son ObjectInputSream y ObjectOutputStream
Serialización
 Para que un objeto sea serializable debe implementar el
interface java.io.Serializable
 Esta interfaz no tiene definido ningún método, es
simplemente como una marca
 Existe un keyword de java para marcar aquellos atributos
que no queremos que sean serializados trasient
 Al deserializar todos los atributos trasient seran inicializados
con sus valores por defecto
 Al deserializar hay que tener en cuenta un casting
Conclusiones
Conclusiones
Ejercicios
 Crea una aplicación que almacene los datos básicos de un
vehículo como la matricula(String), marca (String), avaluo (double)
y modelo (String) en ese orden y de uno en uno usando la clase
DataInputStream.

 Los datos anteriores datos se pedirán por teclado y se irán


añadiendo al archivo (no se sobrescriben los datos) cada vez que
ejecutemos la aplicación.

 El archivo siempre sera el mismo, en todos los casos.


 Muestra todos los datos de cada coche
Ejercicios
 Escribir un programa en Java que para cualquier ruta
indicada por el usuario, muestre:

 Si el archivo existe o no
 Si se trata de un directorio o de un archivo
 En caso de ser un archivo, debe mostrar los siguientes
datos:
 Nombre o Tamaño
 Permisos de lectura y escritura
Ejercicios
 Revisar el archivo Restaurants.csv
 Contiene Restaurant,Address,City,State,Zipcode
 Leer el archivo, construir una colección y realizar las
siguientes acciones:
 Mostrar los restaurantes que esten una ciudad específica
 Mostrar los restaurantes cuyo codigo de postal inicie con
5.
 Mostrar los restaurantes que inician con “B”

También podría gustarte