10.07.2015 Views

ENTRADA Y SALIDA OBJETIVOS Java soporta entrada y salida con ...

ENTRADA Y SALIDA OBJETIVOS Java soporta entrada y salida con ...

ENTRADA Y SALIDA OBJETIVOS Java soporta entrada y salida con ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

hacen desde otro flujos. Los flujos de <strong>salida</strong> de alto nivel no escriben en losdispositivos de <strong>salida</strong>, lo hacen en otros flujos.Un buen ejemplo de flujo de <strong>entrada</strong> de alto nivel es el data input stream.Existe un único <strong>con</strong>structor para esta clase:DataInputStream(InputStream instream)El <strong>con</strong>structor espera que usted le provea de un flujo de <strong>entrada</strong>. Esta instancia puedeser el flujo de <strong>entrada</strong> de un archivo (puesto que FileInputStream desciende deInputStream), el flujo de <strong>entrada</strong> de un socket, o cualquier otro tipo de flujo de<strong>entrada</strong>. Cuando la instancia de DataInputStream es llamada por quien transporta losdatos, realiza un número de llamadas read() en el flujo instream, procesa los bytes yretorna el valor apropiado. Los métodos más comúnmente usados de la claseDataInputStream son:boolean readBoolean() throws IOException• byte readByte() throws IOException• char readChar() throws IOException• double readDouble() throws IOException• float readFloat() throws IOException• int readInt() throws IOException• long readLong() throws IOException• short readShort() throws IOException• String readUTF() throws IOExceptionAdemás existe, por supuesto, un método close().Nota:Cuando se crean cadenas de flujos, es recomendable que usted cierre los flujos que nonecesite más, asegurándose de hacerlo en el orden opuesto en que los flujos fueron<strong>con</strong>struidos.El siguiente fragmento de código ilustra una pequeña cadena de <strong>entrada</strong>:1. try{2. //Construye la cadena2. FileInputStream fis = new FileInputStream("el_archivo");3. DataInputStream dis = new DataInputStream(fis);4. //Lee la cadena5. double d = dis.readDouble();6. int i = dis.readInt();7. String s = dis.readUTF();8. //Cierra la cadena9. dis.close(); //Cierra primero dis10.fis.close; //ya que se creo después de fis11.}12.catch (IOException e){}La figura 13.2 ilustra la jerarquía de la cadena de <strong>entrada</strong>.El código espera que los primeros ocho bytes en el archivo representen un double, lossiguientes cuatro bytes representen un int, y los siguientes (sin saber exactamentecuantos sean) bytes representen un UTF string. Esto significa que el código <strong>con</strong> el queoriginalmente se haya creado el archivo debe haber escrito un double, un int y un UTFString. No es necesario que el archivo haya sido creado por un programa de <strong>Java</strong>, peroen caso de haberlo sido, la mejor forma de hacerlo es empleando un data outputstream.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!