Escolar Documentos
Profissional Documentos
Cultura Documentos
Mxico.
Stream
Para poder leer o escribir depsitos de datos de un computador de origen a
otro de destino lo hacemos por medio de los llamado Streams que son secuencias
ordenadas de datos que poseen un origen o un destino.
Pantalla
Explicacin.
Cabe mencionar que aprovecho la explicacin que ya haba puesto en el
primer foro para ahorrar tiempo.
En la primera parte de este cdigo creo una variable del tipo Path llamada
fuenteDatos y con el mtodo get de la clase Paths que se encuentra dentro del
paquete java.nio creo una ruta a donde este o se desee crear una fuente de datos
como un archivo de texto.
Posteriormente con el mtodo createDirectories de la clase Files que
tambien se encuentra en el paquete java.io le pasamos como argumento la ruta al
directorio que deseamos crear en este caso la optnemos con el metodo getParent()
en nuestra variable de ruta que se creo anteriormente llamada fuenteDatos.
Stream de Bytes
Cdigo
package stream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
Pantalla
Explicacin
Al igual que en el ejemplo anterior de stream de caracteres para ahorrar tiempo
aproveche el ejemplo que haba enviado al foro en la primera unidad.
En este caso a diferencia del anterior pongo un archivo ya creado en este caso
una imagen ya que as nos va a permitir ver la impresin de los bytes mismo que
ocuparemos en la segunda parte para crear la misma imagen a partir de esos bytes. Por
lo tanto en la primera parte creamos una variable que llamamos fuenteDatos que es del
tipo Path que va a ser igual a la ruta en este caso de nuestra imagen con la ayuda del
mtodo get de la clase Paths.
Posteriormente dentro de un bloque try/catch hacemos la lectura del archivo ya
que se pueden presentar algunos errores al internarlo y ser necesario atraparlos, al
igual que en el ejemplo de caracteres en la parte de try en parntesis creamos una
variable del tipo InputStream a la cual llamamos leer a la cual se le pasara la ruta a
nuestra imagen como argumento en el mtodo newInputStream de la clase Files.
Posteriormente dentro del bloque try creamos una variable boleana llamada
finalFuenteDatos que ser igualada a false para saber si se ha llegado al final de la
lectura de los bytes de nuestra imagen, y con la ayuda de un bucle while los leemos
hasta que ya no haya nada que leer en el archivo o imagen en este caso, as es que
dentro del bucle creamos una variabe del tipo int que llamamos contenidoFuente la
cual contendr en cada momento cada uno de los bytes que representan a la imagen en
cuestin esto con la ayuda del mtodo read(), despus los imprimimos en pantalla y
verificamos mediante un if si ya no hay mssbytes en el archivo de imagen en caso de
ya no haber ms la variable finalFuenteDatos pasa a verdadera y se termina el bucle.
Y por ltimo en la parte del catch imprimos los posibles errores que pudieran
haber surgido. Como se puede ver en la parte de abaja de la imagen esta la impresin de
esos bytes que representa a la imagen.
En la segunda parte creamos una nueva ruta con el nombre que le queremos poner
a nuestra imagen en este caso para que no sobreescriba la anterior ya que ser la
misma imagen solo le cambiamos el nombre en la misma ruta. Y a partir de lo bytes que
nos imprimi en la primera parte al leer la imagen, creamos un arreglo de tipo int
para guardar estos nmeros.
Al igual que en los ejemplos anteriores dentro de un try/catch hacemos la
creacin de nuestra imagen
mediante los bytes que obtuvimos, as es que
primeramente para cerrar automticamente la conexin, despus del try entre
parntesis creamos una variable llamada escribir que va ha ser del tipo OutputStream
a la cual le pasaremos la ruta con el nombre del nuevo archivo que deseamos crear
como un argumento del mtodo newOutPutStream de la clase Files, solo queda recorrer
dentro de un ciclo for el arreglo de bytes y con la ayuda del mtodo write escribirlos
uno por uno en nuestro archivo para crear la representacin de la imagen.
10