La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Entrada / Salida. Java adopta de Unix el concepto de stream Un stream es un flujo de datos (secuencia de bytes) que va de una fuente a un destino. Desde.

Presentaciones similares


Presentación del tema: "Entrada / Salida. Java adopta de Unix el concepto de stream Un stream es un flujo de datos (secuencia de bytes) que va de una fuente a un destino. Desde."— Transcripción de la presentación:

1 Entrada / Salida

2 Java adopta de Unix el concepto de stream Un stream es un flujo de datos (secuencia de bytes) que va de una fuente a un destino. Desde el punto de vista del proceso que maneja el stream, éstos se dividen en: –streams de entrada (o de lectura): son aquellos en los que podemos leer datos y nuestro proceso es el destino. –streams de salida (o de escritura): son aquellos en los que podemos escribir datos y nuestro proceso actúa como fuente. Un lenguaje de programación debe permitir hacer operaciones de E/S sobre un conjunto muy diverso de dispositivos (fichero, consola, conexiones de red...) Además, en muchos casos, la E/S debe poder realizarse de modos muy distintos (secuencial, aleatorio, caracter a caracter, por palabras, por líneas, binario...) Java trata de modo muy similar los distintos tipos de streams.

3 Flujos de entrada Binarios (leen bytes) –Simples: leen los bytes en su formato original –Compuestos (filtros): permiten leer los datos siguiendo algún formato (por líneas, transformándolos en números,...) De caracteres o Readers (leen caracteres unicode) –Simples –Compuestos (filtros)

4 Jerarquía de los flujos de entrada binarios InputStream –AudioInputStream –ByteArrayInputStream –FileInputStream –FilterInputStream –ObjectInputStream –PipedInputStream –SequenceInputStream –StringBufferInputStream BufferedInputStream DataInputStream LineNumberInputStream PushBackInputStream...

5 Jerarquía de los flujos de entrada de caracteres (Readers) Reader –BufferedReader –CharArrayReader –FilterReader PushBackReader –InputStreamReader FileReader –PipedReader –StringReader

6 Lectura de fichero (I) Fichero FileInputStreamInputStreamReaderBufferedReader int read () lee 1 byte int read () lee 1 caracter String readLine () lee 1 línea try { FileInputStream fin = new FileInputStream(“fichero.txt"); InputStreamReader isr = new InputStreamReader(fin); BufferedReader miEntrada = new BufferedReader(isr); String linea = miEntrada.readLine(); while( linea != null ) { System.out.println(linea); linea = miEntrada.readLine(); } catch (IOException e){ System.out.println(e); }

7 Lectura de fichero (II) Fichero FileReaderBufferedReader int read () lee 1 caracter String readLine () lee 1 línea try { FileReader fr = new FileReader (“fichero.txt"); BufferedReader miEntrada = new BufferedReader(fr); String linea = miEntrada.readLine(); while( linea != null ) { System.out.println(linea); linea = miEntrada.readLine(); } catch (IOException e){ System.out.println(e); }

8 Lectura de consola (entrada estándar) Entrada estándar (teclado) String s; int numero; InputStreamReader isr = new InputStreamReader(System.in); BufferedReader stdin = new BufferedReader(isr); try { s = stdin.readLine(); numero = Integer.parseInt( s ); } catch ( IOException e ) { System.out.println(e); } catch (NumberFormatException e){ System.out.println(e); } InputStream (System.in) InputStreamReaderBufferedReader void read (byte [ ]) lee n bytes int read () lee 1 caracter String readLine () lee 1 línea

9 Flujos de salida Binarios (escriben bytes) –Simples: escriben los bytes en su formato original –Compuestos (filtros): permiten añadir un formato a los datos. De caracteres o Writers (escriben caracteres unicode) –Simples –Compuestos (filtros)

10 Jerarquía de los flujos de salida binarios OutputStream –ByteArrayOutputStream –FileOutputStream –FilterOutputStream –ObjectOutputStream –PipedOutputStream BufferedOutputStream DataOutputStream PrintStream...

11 Jerarquía de los flujos de salida de caracteres (Writers) Writer –BufferedWriter –CharArrayWriter –FilterWriter PushBackWriter –OutputStreamWriter FileWriter –PipedWriter –StringWriter

12 Escritura a fichero (I) Fichero FileOutputStreamPrintStream void write (int b) escribe 1 byte print(...), println(...) escribe String, int, float, boolean... try { FileOutputStream fout = new FileOutputStream("test.out"); PrintStream miSalida = new PrintStream(fout); miSalida.println("texto"); miSalida.close(); fout.close(); } catch (IOException e) { System.out.println("Error: " + e); }

13 Escritura a fichero (II) Fichero FileWriter String s = "Texto a escribir"; try { FileWriter fw = new FileWriter("test.out"); for( int i = 0; i < s.length(); i++ ) fw.write(s.charAt(i)); fw.close(); } catch (IOException e) { System.out.println("Error: " + e); } void write (int c) escribe 1 caracter

14 Escritura a consola (salida estándar) System.out es un stream estático de tipo PrintStream, asociado con la salida estándar (normalmente la consola). No es necesario abrirlo ni cerrarlo. Implementa, entre otros, los métodos print y println. Dichos métodos están sobrecargados para aceptar parámetros de tipo String, char, int, long, float, double, boolean y Object. Salida estándar (consola) PrintStream (System.out)


Descargar ppt "Entrada / Salida. Java adopta de Unix el concepto de stream Un stream es un flujo de datos (secuencia de bytes) que va de una fuente a un destino. Desde."

Presentaciones similares


Anuncios Google