-
LecciónFileInputStream
La clase análoga a FileOutputStream es FileInputStream, que nos permite leer archivos procedentes del sistema de archivos. Con las primitivas que tiene la clase abstracta InputStream, tenemos a nuestra disposición métodos que podemos usar para leer valores desde cualquier implementación. -
LecciónObjectOutputStream y OutputInputStream
ObjectOuptutStream y ObjectInputStream son clases envolventes, es decir, clases que aceptan otro stream por debajo y que reenvían las llamadas a read o write que reciban pero alteradas. En este caso, para poder leer o escribir otros tipos de datos que no sean bytes puros, ocupándose de la codificación y... -
LecciónObject streams con Strings y Objects
Cómo usar ObjectOutputStream y ObjectInputStream para volcar cadenas de caracteres e instancias de clases arbitrarias como ArrayList es lo que se va a contar en este apartado. -
LecciónSerializando clases
Para que ObjectOutputStream nos permita escribir cualquier clase propia que hayamos fabricado, y para poder recuperarla luego con ObjectInputStream, tendremos que agregarle la interfaz Serializable a nuestras clases. Cuando hagamos eso, apreciaremos que en el stream de salida se envía una información interesante. -
LecciónBufferedOutputStream
Con BufferedOutputStream podemos introducir un buffer, que es una zona de memoria temporal que hace que sea más eficiente la escritura en un OutputStream porque acumula la información para enviarla de golpe en un único taco, en vez de ir poco a poco. -
LecciónEnvolviendo varios OutputStreams
Pequeño inciso: por supuesto que a un OutputStream que acepta otro OutputStream como parámetro, le puedes pasar como parámetro un OutputStream que acepta otro OutputStream como parámetro. Suena a trabalenguas, pero la cuestión es que puedes fabricar un FileOutputStream, pasarlo por dentro de un BufferedOutputStream, y pasarlo por dentro de... -
LecciónBufferedInputStream y rebobinado de streams
La idea de BufferedInputStream es que con una única llamada a read() podamos abarcar tanto como sea posible, para no tener que estar continuamente accediendo al stream que va por debajo. Lo importante es que con esto podemos usar métodos como mark() y reset() para poder rebobinar un stream -
LecciónReader, FileReader y BufferedReader
Del mismo modo, con Reader tenemos la posibilidad de leer del mundo exterior en forma de caracter o stream de texto. Por ejemplo, con FileReader se puede leer el texto de un archivo. Sin embargo, poca utilidad tendrá sin la ayuda de BufferedReader, para poder disponer de métodos más prácticos... -
LecciónInputStreamReader y OutputStreamWriter
Muchas clases de la biblioteca estandar de Java que generan streams, los hacen en modo byte, por lo que si vamos a querer leer o escribir en modo caracter, tendremos que pasar esos streams a través de InputStreamReader y de OutputStreamWriter, que son clases que sirven para hacer la traducción... -
LecciónPrintStream y PrintWriter
Cerramos con un par de clases interesantes, porque son impresoras. Permiten empujar, tanto a un stream de byte como a un stream de char, cadenas de caracteres de múltiples tipos. Puede que ya las hayas utilizado, porque System.out y System.err son PrintStreams.