Anda di halaman 1dari 3

Que son los STREAMS y cules son los ms comunes.

Un "Stream" es un nombre genrico otorgado a un flujo de caracteres en un programa de computo, puede estar compuesto por los valores residentes en un archivo texto, datos introducidos interactivamente por un usuario o datos que desean ser colocados en determinado archivo. Un "Stream" es la representacin ms cruda de un juego de datos, pero una manera muy universal de accesar/guardar datos, inclusive la clase System.out.println utilizada en la gran mayora de los programas es un "Stream"; en Java existen diversas Clases utilizadas en conjuncin de "Streams".

Los streams de bajo nivel ms comunes son: FileInputStream(String pathname) FileInputStream(File file) FileOutputStream(String pathname) FileOutputStream(File file) Los streams de alto nivel ms comunes son: DataInputStream(InputStream instream) DataOutputStream(OutputStream outstream) BufferedInputStream y BufferedOutputStream BufferedReader(Reader reader) PrintStream:

El siguiente diagrama nos ilustra clases stream del paquete java.io

La siguiente aplicacin se encarga de crear un archivo de texto desde la consola, buscar un nmero dentro de ese archivo de texto, y en caso de no encontrarlo lanzar una excepcin creada. //Clase para crear la excepcin
public class MyExcepcion extends Throwable{ public MyExcepcion() { System.out.println("El nmero no se encuentra"); } }

// Clase que crear el archivo y busca un nmero dentro del archivo


import java.io.*; public class AplicacionFile { public static void Crear() throws IOException { BufferedReader ent = new BufferedReader(new InputStreamReader(System.in)); PrintWriter sal = new PrintWriter(new FileWriter("datos.txt")); PrintWriter salErr = new PrintWriter(System.err, true); salErr.println("Da el nmero(negativo para salir)"); int numero = Integer.parseInt(ent.readLine());

while (numero > 0) { sal.println("" + numero); salErr.println("Da el nmero"); numero = Integer.parseInt(ent.readLine()); } //salErr.println("Fin"); sal.close(); }

public static void Leer(int num) throws IOException,MyExcepcion { int contador=0; BufferedReader ent = new BufferedReader(new FileReader("datos.txt")); PrintWriter sal = new PrintWriter(System.out,true); PrintWriter salErr = new PrintWriter(System.err, true); String linea = ent.readLine(); int numero; while (linea != null) { numero = Integer.parseInt(linea); if(numero==num) contador++; linea = ent.readLine(); } if(contador>0) System.out.println("" + "El nmero se encuentra "+ contador+ " veces"); else throw new MyExcepcion(); salErr.println("Fin"); ent.close(); } public static void main(String[] args) throws IOException, MyExcepcion{ Crear(); BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); PrintWriter sal = new PrintWriter(System.out,true); PrintWriter salErr = new PrintWriter(System.err, true); salErr.println("Ingrese un nmero a buscar en el Archivo"); int num=Integer.parseInt(in.readLine()); Leer(num); } }

Anda mungkin juga menyukai