Académique Documents
Professionnel Documents
Culture Documents
flujo (stream)
Fuente
Juan Pavn Mestras
Facultad de Informtica UCM, 2007-08
...
dato
dato
Destino
Flujos estndar
Como en Unix:
Dispositivo
de entrada
Flujo entrada
(System.in)
Datos
Flujo salida
Programa
Datos
Dispositivo
de salida
(System.out)
Flujos estndar
System.in
System.out
System.err
System.out.print( (char) c );
}
int read()
int read(char buffer[])
int read(char buffer[], int offset, int length)
int write(int aCharacter)
int write(char buffer[])
int write(char buffer[], int offset, int length)
Lectura
1.
Teclado
Fichero
Socket remoto
Leer datos
2.
3.
Escritura
1.
Pantalla
Fichero
Socket local
Escribir datos
2.
3.
Clasificacin de flujos
Representacin de la informacin
Propsito
Acceso
Secuencial
Aleatorio - (RandomAccessFile)
10
11
Entrada de caracteres
InputStreamReader
BufferedReader
12
Combinacin de flujos
InputStream
InputStreamReader
BufferedReader
Programa
Lee bytes
13
14
La clase Teclado
import java.io.*;
public class Teclado {
/** variable de clase asignada a la entrada estndar del sistema */
public static BufferedReader entrada =
new BufferedReader(new InputStreamReader(System.in));
/** lee una cadena desde la entrada estndar
* @return cadena de tipo String
*/
public static String leerString() {
String cadena="";
try {
cadena = new String(entrada.readLine());
}catch (IOException e) {
System.out.println("Error de E/S"); }
return cadena; } // la clase Teclado continua
Juan Pavn Mestras
Facultad de Informtica UCM, 2007-08
15
La clase Teclado
// ...continuacin de la clase teclado
/** lee un numero entero desde la entrada estandar
* @return numero entero de tipo int
*/
public static int leerInt() {
int entero = 0;
boolean error = false;
do {
try {
error = false;
entero = Integer.valueOf(entrada.readLine()).intValue();
}catch (NumberFormatException e1) {
error = true;
System.out.println("Error en el formato del numero, intentelo de nuevo.");
}catch (IOException e) {
System.out.println("Error de E/S");}
} while (error);
return entero;
}
} // final de la clase Teclado
Juan Pavn Mestras
Facultad de Informtica UCM, 2007-08
16
File streams
Object streams
Filter streams
17
18
Fuerza la
escritura de los
datos
19
Ficheros de texto
FileReader
FileWriter
PrintWriter
20
21
Ficheros
Clase File
Constructores
File(String ruta)
File(String ruta, String nombre)
File(File directorio, String nombre)
Mtodos
22
Es importante
cerrar los flujos
23
Serializacin de objetos
Flujos
Clase ObjectOuputStream
Mtodo - writeObject()
Ejemplo: flujoSalida.writeObjetct (objetoClase);
Clase ObjectInputStream
Mtodo - readObject()
Ejemplo: objetoClase = (Clase) flujoEntrada.readObject();
24
Interfaz Serializable
25
Serializacin de objetos
26
Deserializacin de objetos
27
Resumen
28