Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Persistencia
- files y streams
- Escribir y leer bytes
- Escribir y leer datos primitivos
- Escribir y leer texto
- Escribir y leer objetos
2
Programación Orientada a Objetos
files y streams
3
Programación Orientada a Objetos
Persistencia
Los objetos creados en memoria pueden ser
guardados en disco duro de modo que su
información pueda ser recuperada
posteriormente.
ObjectOutputStream
writeObject()
7
Programación Orientada a Objetos
Combinación de Streams de entrada
Clase abstracta
InputStream read() de un byte
FileReader
BufferedReader
Entrada:
FileInputStream: lee datos como secuencia
de bytes
Programación Orientada a Objetos 9
Ruta de un archivo
En Java: Primero se crea un archivo en disco
usando la clase File.
PrintWriter
FileOutputStream
12
Programación Orientada a Objetos
Escribiendo bytes
usa FileOutputStream Archivo binario
resultante
.dat” );
15
Programación Orientada a Objetos
Streams de alto nivel
Los streams que se usan para escribir y
leer datos primitivos desde/hacia
archivos:
Salida:
FileOutputStream junto a DataOutputStream
Entrada:
FileInputStream junto a DataInputStream
Programación Orientada a Objetos 16
Streams de alto nivel –Escribir-
DataOutputStream
FileOutputStream
DataInputStream
FileInputStream
leyendo del
nextLine
public static boolean leerTexto() { Scanner
File inFile = new File("D:/temporal/datos.txt");
Scanner input= null;
boolean resultado = false;
try { datos.txt
input = new Scanner(inFile);
String nombre = input.nextLine();
String salarioStr = input.nextLine();
double salario = Double.parseDouble(salarioStr);
System.out.println("datos leidos" + nombre + " " + salario);
resultado = true;
}
catch (Exception e) {
System.out.println("excepcion inesperada:" + e.getMessage());
}
finally {
input.close();
}
return resultado;
}
28
Programación Orientada a Objetos
Guardando Objetos
Es posible guardar objetos igual que se guardan
primitivas
Person person
Se debe hacer cast
= (Person) inObjectStream.readObject( );
Account account1
= (Account) inObjectStream.readObject( );
Deben leerse en el
Bank bank1 orden correcto
= (Bank) inObjectStream.readObject( );