


Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Asignatura: Desarrollo Orientado a Objetos, Profesor: , Carrera: Ingeniería Informática, Universidad: UAX
Tipo: Apuntes
1 / 4
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!



Todo lo que hereda de InputStream o Reader tiene un método read() y los que heredan de OutputStream o Writer tiene un método write(). Estos métodos no se suelen usar directamente, sino que están para que sean usados por otras clases, que proporcionan una interfaz más útil. No es habitual que se utilice una única clase para crear un flujo.
Diferencia entre orientado a byte y orientado a char (unicode)
Orientados a byte
Tipos de InputStream
Tipos de OutputStream
Leer de un InputStream usando FilterInputStream (tipos de FilterInputStream)
Escribiendo a OutputStream usando ….
Reader s & Writer s
InputStream y OutputStream proveen funcionalidad para la entrada/salida orientada a bytes
Estos dos son orientados a carácter.
Para transformar un flujo orientado a bytes en uno orientado a caracteres se utilizan dos clases puente: InputStreamReader y OutputStreamWriter.
Correspondencia entre los dos tipos
InputStream Reader
OutputStream Writer
FileInputStream FileReader
FileOutputStream FileWriter
StringBufferInputStream StringReader
(sin clase correspondiente) StringWriter
ByteArrayInputStream CharArrayReader
ByteArrayOutputStream CharArrayWriter
PipedInputStream PipedReader
PipedOutputStream PipedWriter
Modificando el comportamiento (similar a FilterOutputStream, pero no se hereda) Correspondencias:
FilterInputStream FilterReader
FilterOutputStream FilterWriter
BufferedInputStream BufferedReader (tiene readLine())
BufferedOutputStream BufferedWriter
DataInputStream Usar DataInputStream o BufferedReader si se necesita readLine()
PrintStream PrintWriter
LineNumberInputStream LineNumberReader
PushBackInputStream PushBackReader
Cuando queramos utilizar el método readLine() lo haremos con un objeto BufferedReader.
RandomAccessFile
Para archivos que contengan registros de tamaño conocido. Nos podemos mover de un registro a otro utilizando seek().
No tiene relación con InputStream o OutputStream, salvo que implementa las interfaces DataInput y DataOutput, que también implementan DataInputStream y DataOutputStream.
Tiene dos métodos propios que son getFilePointer() y seek(). En el constructor hay que decir si el archivo es abierto para lectura o para escritura y lectura (igual que en C “r” “rw”).
Ejemplo:
/write object/ ObjectOutputStream salida = new ObjectOutputStream(new FileOutputStream("prueba.dat")); salida.writeObject(p); salida.close(); /read object/ System.out.println("Recuperación de la pila"); ObjectInputStream entrada = new ObjectInputStream(new FileInputStream ("prueba.dat")); PilaDinamica q = (PilaDinamica)entrada.readObject(); entrada.close();
siendo p y q objetos que implementen la interfaz serializable, en este caso he sacado el ejemplo de una PilaDinamica..