Вы находитесь на странице: 1из 5

FLUJOS ESTNDAR

A) System.in
Instancia de la clase InputStream: flujo de bytes de entrada
MTODOS
1. read() permite leer un byte de la entrada como entero. Ejemplo: int data = inputstream.read();
2. skip(n ) ignora n bytes de la entrada.
3. available() nmero de bytes disponibles para leer en la entrada. ejemplo: available =
fis.available();
B) System.out
Instancia de la clase PrintStream: flujo de bytes de salida
METODOS PARA IMPRESIN DE DATOS
1. print(), println()
2. flush() vaca el buffer de salida escribiendo su contenido. Ejemplo: os.write('A'); os.flush();
C) System.err
Funcionamiento similar a System.out
Se utiliza para enviar mensajes de error que salen en la pantalla por defecto.
public class Suma {
public static void main(String[] args) {
int a=1;
System.err.println("el valor de a="+a);
System.out.println(a);
a=a+10;
System.err.println("si se suman 10 es a="+a);
System.out.println(a);
}
}

CLASIFICACIN DE FLUJOS
A) Representacin de la informacin
1.- Flujos de bytes: clases InputStream y OutputStream
2.- Flujos de caracteres: clases Reader y Writer
Se puede pasar de un flujo de bytes a uno de caracteres con InputStreamReader y OutputStreamWriter
EJEMPLO:
import java.io.FileInputStream;
import java.io.FileNotFoundException;
JAVA

Prof. Jos Luis Prez Garca

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class inputStreamDemo {
public static void main(String [] args)
{
InputStream inputStream=null;
OutputStream outputStream=null;
try {
inputStream =new FileInputStream("E:\\abc.txt");
outputStream = new FileOutputStream("E:\\arun_sai_ran.txt");
int i=0;
}
do
{
i=inputStream.read();
System.out.print((char) i);
outputStream.write((char) i);
}while(i != -1);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
outputStream.close();
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
B) Propsito
1.- Entrada: InputStream, Reader
2.- Salida: OutputStream, Writer
3.- Lectura/Escritura: RandomAccessFile
4.- Transformacin de los datos: Realizan algn tipo de procesamiento sobre los datos (p.e. buffering,
conversiones, filtrados): BuffuredReader, BufferedWriter
C) Acceso
1.- Secuencial
2.- Aleatorio - (RandomAccessFile)

JAVA

Prof. Jos Luis Prez Garca

JERARQUA DE FLUJOS DE BYTES

JERARQUA DE FLUJOS DE CARACTERES

JAVA

Prof. Jos Luis Prez Garca

ENTRADA DE CARACTERES
InputStreamReader: Lee bytes de un flujo InputStream y los convierte en caracteres Unicode.
MTODOS DE UTILIDAD
A. read() lee un nico caracter
B. ready() indica cuando est listo el flujo para lectura
BufferedReader: Entrada mediante bfer, mejora el rendimiento
MTODO DE UTILIDAD
A. readLine() lectura de una lnea como cadena
InputStreamReader entrada = new InputStreamReader(System.in);
BufferedReader teclado = new BufferedReader (entrada);
String cadena = teclado.readLine();
EJEMPLO 1:

import java.io.*;
public class Eco {
public static void main (String[] args) {
}
}
BufferedReader entradaEstandar = new BufferedReader
(new InputStreamReader(System.in));
String mensaje;
System.out.println ("Introducir una lnea de texto:");
mensaje = entradaEstandar.readLine();
System.out.println ("Introducido: \"" + mensaje + "\"");
}
}

EJEMPLO 2:
import java.io.*;
public class Teclado {
public static BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));
public static String
leerString() {
String cadena="";
try {
cadena = new String(entrada.readLine());
}catch (IOException e) {
System.out.println("Error de E/S"); }
return cadena; }

FLUJOS DE BYTES ESPECIALES


B. File streams: Para escribir y leer datos en ficheros
JAVA

Prof. Jos Luis Prez Garca

C. Object streams: Para escribir y leer objetos. Implementa lo que se denomina serializacin de
objetos (object serialization). Es posible guardar un objeto con una representacin de bytes
D. Filter streams: Permiten filtrar datos mientras se escriben o leen. Permiten manipular tipos
de datos primitivos. Implementan las interfaces DataInput y DataOutput y pueden heredar de
las clases FilterInputStream y FilterOutputStream. El mejor ejemplo son las clases
DataInputStream y DataOutputStream para leer y escribir datos de tipos bsicos.

FICHEROS DE TEXTO
1. FileReader
Para leer de ficheros de texto
Hereda de InputStreamReader, que hereda de Reader
Constructor: FileReader(String
2. FileWriter
Para escribir en ficheros de texto
Hereda de OutputStreamReader, que hereda de Writer
Constructores

FileWriter(String nombreFichero) -- FileWriter(String nombreFich

3. PrintWriter
Implementa un flujo de salida de car
Mtodos de utilidad
print(), println(), close()

EJEMPLO:
import java.io.*;
public class FicheroTexto {
public static void main(String args[]) {
}
try { // escritura de datos
PrintWriter salida = new PrintWriter( new BufferedWritesalida.println(Este es un ejemplo de
escritura y lectura de datos");
salida.println(en un fichero.");
salida.close();
// lectura de datos
BufferedReader entrada =new BufferedReader(new FileReader("prueba.txt"));
String s, s2 = new String();
while((s = entrada.readLine())!= null)
s2 += s + "\n";
System.out.println("Texto leido:" + "\n" + s2);
entrada.close();
} catch (java.io.IOException e) { e.printStactTrace(); }
}

JAVA

Prof. Jos Luis Prez Garca