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:
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"); } }
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); } }