Documente Academic
Documente Profesional
Documente Cultură
FileReader BufferedReader
Paso 1. Creo un objeto FileReader pasándole Paso 2. Creo un objeto BufferedReader pasándole
la ruta al fichero que queremos leer el objeto FileReader anterior del paso 1
BufferedReader
FileReader
(No me importa de aquí en adelante) Sí me importa. yo, programador, leo del buffer, el resto no me importa
fw.close();
} catch (IOException e) {
System.out.println(e.toString());
}
}
2. Ficheros en modo Texto
2. 1 Escribir. ¿Qué necesito?
FileWriter BufferedWriter
Paso 1. Creo un objeto FileWriter pasándole Paso 2. Creo un objeto BufferedWriter pasándole
la ruta al fichero que queremos escribir / crear el objeto FileWriter anterior del paso 1
BufferedWriter
FileWriter
FileOutputStream DataOutputStream
1. Encuentra el fichero. 1. Almacena algunos datos
Si no lo encuentra, lo 2. NO Soporta sincronización
crea. 3. La estructura del fichero la eliges tú
2. Lo abre para escritura ¿Seguro que lo harás bien?
¿Seguro que siempre lo haces igual?
3. Ficheros en modo Binario
3. 1 Leer. ¿Qué necesito?
FileInputStream DataInputStream
1. Encuentra el fichero 1. Almacena algunos datos
2. Lo abre para lectura 2. NO Soporta sincronización
3. Hay que conocer la estructura
del archivo para leer -.-!
3. Ficheros en modo Binario
3. 2 Leer. ¿Cómo lo hago?
01000001
01110000
01110010 Escribe en
Escribe en
01110101
“Aprobar”
01100101
01100010
01100001 FileInputStream DataInputStream
01110011
readInt();
readFloat();
readX() = readChars();
readChar();
readBoolean();
3. Ficheros en modo Binario
3. 2 Escribir. ¿Cómo lo hago?
Paso 3. Llamo al método writeX(valor)
Paso 2. Creo un objeto del objeto DataOutpuStream
DataOutputStream pasándole Paso 1. Creo un objeto creado en el paso anterior
el objeto FileInputStream FileOutputStream pasándole
del paso anterior la ruta del fichero a escribir
01000001
01110000
01110010
Escribe en 01110101
Escribe en 01100101
write(”Aprobar”);
01100010
01100001
DataOutputStream FileOutputStream 01110011
writeInt(3);
writeFloat(3.14);
writeX() = writeChars(”Aprobar”);
writeChar(’A’);
writeBoolean(true);
3. Ficheros en modo Binario
3. 2 Leer. Un ejemplo
public static void leerArchivoBinario(String rutaAlFichero) {
try {
FileInputStream fis = new FileInputStream(rutaAlFichero);
DataInputStream dis = new DataInputStream(fis);
String linea = "";
String contenidoTotal = "";
while ((linea = dis.readLine()) != null) {
contenidoTotal += linea;
System.out.println(linea);
}
dis.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
3. Ficheros en modo Binario
3. 2 Escribir. Un ejemplo
NADA
5. Clases Serializables
5. 2 Escribir. ¿Cómo lo hago?
try {
FileOutputStream fos = new FileOutputStream("data/salidaObjetos.dat");
ObjectOutputStream out = new ObjectOutputStream(fos);
Aminoacido lisina = new Aminoacido("C5H9NO", "Valine");
NADA
4. Clases Serializables
4. 2 Leer. ¿Cómo lo hago?
try {
FileInputStream fis = new FileInputStream("data/salidaObjetos.dat");
ObjectInputStream oit= new ObjectInputStream(fis);
¿Bromeas?
No
En cualquier lenguaje de programación NO existe diferencia conceptual entre fichero y
directorio. En Java, existe la clase File , que nos permite averiguar si un File contiene
información de verdad (archivo) o sobre otro archivo (directorio).