SlideShare una empresa de Scribd logo
1 de 18
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                      Manejo de archivos




                                     Esencial para TODO el semestre


                                          Lic. Nancy Michelle Torres Villanueva   1
TALLER DE PROGRAMACIÓN DE SISTEMAS
                                                                   Clases para IO
                                                                                         Object
                                                                                                                                                      RandomAccessFile

                                                                                                                                                                File
                  InputStream                                      OutputStream                                         Reader                                     Writer




                                                                                                                                                                        PrintWriter
                                                                                                               BufferedReader




                                                                                                                                                       BufferedWriter
                             FileInputStream




                                                                      FileOutputStream
                                               FilterInputStream




                                                                                                                                 InputStreamReader
                                                                                          FilterOutputStream




                                                                                                                                                                                          OutputStreamReader
                                                                                                                                                     FileReader
                                                    DataInputStream
                                                                                                     DataOutputStream
                                                                                                                                                                        FileWriter
         BufferedInputStream
                                                                                    BufferedOutputStream

                                                                      Lic. Nancy Michelle Torres Villanueva                                                                           2
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                        Clases para flujos de entrada
                                     Se utilizan para leer datos de una fuente de
                                     entrada (archivo, cadena o memoria)
                                     Flujo de bytes: InputStream,
                                     BufferedInputStream, DataInputStream,
                                     FileInputStream

                                     Flujo de caracteres: Reader, BufferReader,
                                     FileReader




                                                  Lic. Nancy Michelle Torres Villanueva   3
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                          Clases para flujo de salida
                                     Son las homólogas a las clases de flujo de
                                     entrada y se utilizan para enviar flujos de datos a
                                     dispositivos de salida
                                     Flujo de bytes: OutputStream,
                                     PrintStream, BufferedOutputStream,
                                     DataOutputStream y FileOutputStream

                                     Flujo de caracteres : Writer, PrintWriter,
                                     FileWriter



                                                    Lic. Nancy Michelle Torres Villanueva   4
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                               Clases de Archivo
                                     File y RandomAccesFile (mayor control sobre
                                     los archivos)




                                                 Lic. Nancy Michelle Torres Villanueva   5
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                                        La clase File
                                     ●   La clase java.io.File permite obtener la
                                         información de las propiedades de un archivo.
                                         No es posible escribir o leer el contenido de un
                                         archivo, pero es útil para determinar el estado
                                         del mismo (p.e. si es un archivo o directorio).
                                         La forma general de construcción es:
                                         File obj = new File(ruta_del_archivo);
                                     ●   Si el archivo no existe, aún así el objeto se
                                         construye.


                                                      Lic. Nancy Michelle Torres Villanueva   6
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                          La clase RandomAccessFile
                                     ●   Los archivos de acceso aleatorio se
                                         caracterizan porque es posible mover el
                                         apuntador de archivo a cualquier posición
                                         dentro del mismo y efectuar operaciones de
                                         escritura y lectura a la vez. La forma general de
                                         construcción es:
                                     RandomAccessFile arch = new
                                     RandomAccessFile(String nombre, String
                                     modo);
                                     RandomAccessFile arch = new
                                     RandomAccessFile(File obj, String modo);

                                                     Lic. Nancy Michelle Torres Villanueva   7
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                                  Flujos de archivos
                                     ●   Otra forma de manipulación de archivos es
                                         tratándolos como flujos continuos de bytes.
                                         Cada archivo entonces sería una cinta con la
                                         secuencia de información para un archivo
                                         dado.
                                     ●   A diferencia del acceso aleatorio, en éstos se
                                         presenta un acceso secuencial. Al inicio, el
                                         puntero de archivo se coloca en el primer byte
                                         y tendrá que ir consumiendo bytes para
                                         colocarse en los siguientes bytes hasta llegar al
                                         final.
                                     ●               Lic. Nancy Michelle Torres Villanueva   8
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                                ... Flujos de archivos
                                     ●   Si se desea leer desde el principio el archivo se
                                         tendrá que “rebobinar” la cinta y volverlo a leer.
                                     ●   La clase InputStream es el flujo de entrada,
                                         mientras que OutputStream lo es para salida.
                                         Java ofrece subclases de estas clases base
                                         que especializan la interpretación de los
                                         bloques de bytes. Por ejemplo,
                                         FileInputStream asocia un archivo como un
                                         flujo de entrada, mientras que
                                         FileOutputStream trata a un archivo de
                                         escritura como un flujo de salida.
                                                      Lic. Nancy Michelle Torres Villanueva   9
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                                ... Flujos de archivos
                                     ●   Los métodos clásicos son read() y write(),
                                         respectivamente




                                                     Lic. Nancy Michelle Torres Villanueva   10
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                                   Flujos de objetos
                                     ●   Es posible escribir y leer objetos de un flujo de
                                         cualquier clase. Las clases ObjectInputStream
                                         y ObjectOutputStream ofrecen la posibilidad
                                         de escribir tanto datos primitivos y objetos.
                                     ●   Lo interesante de estas clases es que nos
                                         permiten “guardar” permanentemente el estado
                                         de un objeto y posteriormente recuperarlo. Por
                                         ejemplo, una ventana pudiera ser guardada en
                                         archivo y luego, restaurarla.


                                                     Lic. Nancy Michelle Torres Villanueva   11
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                                 ... Flujos de objetos
                                     ●   Veamos la “magia” de esta clase. Por principio
                                         de cuentas, la serialización es el proceso de
                                         transferir los bytes correspondientes a un
                                         objeto a través de un flujo. Este proceso
                                         garantiza que el objeto se transmite
                                         completamente (de allí su nombre).
                                     ●   Un objeto Java serializable es uno cuya clase
                                         implementa la interface Serializable. Esta
                                         interface no posee métodos, solo indica a la
                                         máquina virtual que ese objeto puede
                                         transmitirse por un flujo.
                                     ●               Lic. Nancy Michelle Torres Villanueva   12
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                               ... Flujos de objetos
                                     ● La forma genérica de un objeto serializable es:
                                     import java.io.*;
                                     public class NomClase implements
                                     Serializable {
                                     //Código clase
                                     }




                                                   Lic. Nancy Michelle Torres Villanueva   13
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                                           Actividad
                                     ●   Hagamos un pequeño programa que construya
                                         un objeto y lo guarde en archivo. Otro
                                         programa leerá el archivo y le “volverá a dar
                                         vida” al objeto.




                                                    Lic. Nancy Michelle Torres Villanueva   14
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                             La clase BufferedReader
                                     ●   Almacenamiento temporal en un buffer, para no
                                         actuar directamente sobre el stream.
                                     ●   Igual que los streams de bytes se deben cerrar
                                         explícitamente para liberar sus recursos
                                         asociados (close).
                                     BufferedReader in = new BufferedReader(new
                                     FileReader(new File(ruta));
                                     ●   Para leer se utliza readLine()



                                                      Lic. Nancy Michelle Torres Villanueva   15
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                              La clase BufferedWriter
                                     ●   Para la escritura solo cambia el método
                                     BufferedWriter out = new BufferedWriter(new
                                     FileWriter(new File(ruta));
                                     ●   Para escribir se utiliza write()




                                                      Lic. Nancy Michelle Torres Villanueva   16
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                                            Actividad
                                     ●   Generar un programa que lea un archivo,
                                         mientras lee cada renglon, deberá mostrarlo
                                         con un contador en pantalla y deberá
                                         detenerse al encontrar la palabra END.




                                                     Lic. Nancy Michelle Torres Villanueva   17
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                                                   Tarea
                                     ●   Investigar las diferencias entre las clases para
                                         lectura de archivos y evaluar la mas
                                         conveniente para las prácticas de este
                                         semestre.
                                     ●




                                                      Lic. Nancy Michelle Torres Villanueva   18

Más contenido relacionado

La actualidad más candente

Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetosjose_rob
 
Unidad 1. Fundamentos de Base de Datos
Unidad 1. Fundamentos de Base de DatosUnidad 1. Fundamentos de Base de Datos
Unidad 1. Fundamentos de Base de Datoshugodanielgd
 
Conexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysqlConexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysqlROQUE Caldas Dominguez
 
Uso de Excepciones en JAVA
Uso de Excepciones en JAVAUso de Excepciones en JAVA
Uso de Excepciones en JAVAinnovalabcun
 
HISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOSHISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOSdfgdfgs
 
Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de usoTensor
 
Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualSergio Sanchez
 
Presentación tcp y udp
Presentación tcp y udpPresentación tcp y udp
Presentación tcp y udpgonsu90
 
Clases de direcciones IP
Clases de direcciones IPClases de direcciones IP
Clases de direcciones IPf_lazarte
 
Fundamentos de Bases de Datos - Introducción
Fundamentos de Bases de Datos - IntroducciónFundamentos de Bases de Datos - Introducción
Fundamentos de Bases de Datos - IntroducciónManuel Padilla
 
Fundamentos de base de datos 1a. unidad
Fundamentos de base de datos 1a. unidadFundamentos de base de datos 1a. unidad
Fundamentos de base de datos 1a. unidademilio_ambrosio
 
Fundamentos de redes: 6. Direccionamiento de la red ipv4
Fundamentos de redes: 6. Direccionamiento de la red ipv4Fundamentos de redes: 6. Direccionamiento de la red ipv4
Fundamentos de redes: 6. Direccionamiento de la red ipv4Francesc Perez
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetosyoiner santiago
 

La actualidad más candente (20)

Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Unidad 1. Fundamentos de Base de Datos
Unidad 1. Fundamentos de Base de DatosUnidad 1. Fundamentos de Base de Datos
Unidad 1. Fundamentos de Base de Datos
 
Conexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysqlConexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysql
 
Uso de Excepciones en JAVA
Uso de Excepciones en JAVAUso de Excepciones en JAVA
Uso de Excepciones en JAVA
 
HISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOSHISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOS
 
Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de uso
 
Rfc2460 es
Rfc2460 esRfc2460 es
Rfc2460 es
 
DIRECCIONAMIENTO IP: IPv4 y IPv6
DIRECCIONAMIENTO  IP: IPv4 y IPv6DIRECCIONAMIENTO  IP: IPv4 y IPv6
DIRECCIONAMIENTO IP: IPv4 y IPv6
 
Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos Conceptual
 
Presentación tcp y udp
Presentación tcp y udpPresentación tcp y udp
Presentación tcp y udp
 
Modelos de datos
Modelos de datosModelos de datos
Modelos de datos
 
Clases de direcciones IP
Clases de direcciones IPClases de direcciones IP
Clases de direcciones IP
 
Fundamentos de Bases de Datos - Introducción
Fundamentos de Bases de Datos - IntroducciónFundamentos de Bases de Datos - Introducción
Fundamentos de Bases de Datos - Introducción
 
Sql
SqlSql
Sql
 
Fundamentos de base de datos 1a. unidad
Fundamentos de base de datos 1a. unidadFundamentos de base de datos 1a. unidad
Fundamentos de base de datos 1a. unidad
 
DIRECCIONAMIENTO IP BASICO I
DIRECCIONAMIENTO IP BASICO IDIRECCIONAMIENTO IP BASICO I
DIRECCIONAMIENTO IP BASICO I
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Fundamentos de redes: 6. Direccionamiento de la red ipv4
Fundamentos de redes: 6. Direccionamiento de la red ipv4Fundamentos de redes: 6. Direccionamiento de la red ipv4
Fundamentos de redes: 6. Direccionamiento de la red ipv4
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
 

Similar a Manejo de archivos en JAVA (20)

Flujos de Entrada y Salida en Java
Flujos de Entrada y Salida en JavaFlujos de Entrada y Salida en Java
Flujos de Entrada y Salida en Java
 
Flujos y archivo en java
Flujos y archivo en javaFlujos y archivo en java
Flujos y archivo en java
 
Flujos y archivos
Flujos y archivosFlujos y archivos
Flujos y archivos
 
Archivos aleatorios
Archivos aleatoriosArchivos aleatorios
Archivos aleatorios
 
Archivos 15
Archivos 15Archivos 15
Archivos 15
 
S7-POO-4.1 Archivos Genéricos
S7-POO-4.1 Archivos GenéricosS7-POO-4.1 Archivos Genéricos
S7-POO-4.1 Archivos Genéricos
 
S7-P2.pptx
S7-P2.pptxS7-P2.pptx
S7-P2.pptx
 
S7-Archivos
S7-ArchivosS7-Archivos
S7-Archivos
 
S7 p2
S7 p2S7 p2
S7 p2
 
PERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOSPERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOS
 
13-Unidad 4: Manejo de archivos y seguimiento del proyecto
13-Unidad 4: Manejo de archivos y seguimiento del proyecto13-Unidad 4: Manejo de archivos y seguimiento del proyecto
13-Unidad 4: Manejo de archivos y seguimiento del proyecto
 
Flujos y archivos
Flujos y archivosFlujos y archivos
Flujos y archivos
 
S2-EDD-1.2 Paso de estructuras y punteros a funciones, recursividad
S2-EDD-1.2 Paso de estructuras y punteros a funciones, recursividadS2-EDD-1.2 Paso de estructuras y punteros a funciones, recursividad
S2-EDD-1.2 Paso de estructuras y punteros a funciones, recursividad
 
Metodos de entrada y Salida
Metodos de entrada y SalidaMetodos de entrada y Salida
Metodos de entrada y Salida
 
Entrada y Salida de datos en Java
Entrada y Salida de datos en JavaEntrada y Salida de datos en Java
Entrada y Salida de datos en Java
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
 
Manejo+de+archivos+en+java
Manejo+de+archivos+en+javaManejo+de+archivos+en+java
Manejo+de+archivos+en+java
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
 
Serializacion
SerializacionSerializacion
Serializacion
 

Más de Michelle Torres

Prototipado rápido para web y mobile
Prototipado rápido para web y mobilePrototipado rápido para web y mobile
Prototipado rápido para web y mobileMichelle Torres
 
Uso de Puerto paralelo en C
Uso de Puerto paralelo en CUso de Puerto paralelo en C
Uso de Puerto paralelo en CMichelle Torres
 
Material de administración y auditoría de la función informática
Material de administración y auditoría de la función informáticaMaterial de administración y auditoría de la función informática
Material de administración y auditoría de la función informáticaMichelle Torres
 
Taller de programación de sistemas. Descripción de práctica 2
Taller de programación de sistemas. Descripción de práctica 2Taller de programación de sistemas. Descripción de práctica 2
Taller de programación de sistemas. Descripción de práctica 2Michelle Torres
 
Taller de programación de sistemas. Descripción de práctica 1
Taller de programación de sistemas. Descripción de práctica 1Taller de programación de sistemas. Descripción de práctica 1
Taller de programación de sistemas. Descripción de práctica 1Michelle Torres
 
Modos de direccionamiento para el HC12 de motorola
Modos de direccionamiento para el HC12 de motorolaModos de direccionamiento para el HC12 de motorola
Modos de direccionamiento para el HC12 de motorolaMichelle Torres
 
Programación Orientada a Objetos en JAVA
Programación Orientada a Objetos en JAVAProgramación Orientada a Objetos en JAVA
Programación Orientada a Objetos en JAVAMichelle Torres
 
Recordando Java desde Cero
Recordando Java desde CeroRecordando Java desde Cero
Recordando Java desde CeroMichelle Torres
 
Rubrica (primera entrega)
Rubrica (primera entrega)Rubrica (primera entrega)
Rubrica (primera entrega)Michelle Torres
 
Introducción a la programación en ambientes web
Introducción a la programación en ambientes webIntroducción a la programación en ambientes web
Introducción a la programación en ambientes webMichelle Torres
 
My sql para principiantes
My sql para principiantesMy sql para principiantes
My sql para principiantesMichelle Torres
 

Más de Michelle Torres (16)

Prototipado rápido para web y mobile
Prototipado rápido para web y mobilePrototipado rápido para web y mobile
Prototipado rápido para web y mobile
 
Uso de Puerto paralelo en C
Uso de Puerto paralelo en CUso de Puerto paralelo en C
Uso de Puerto paralelo en C
 
Arreglos en PHP
Arreglos en PHPArreglos en PHP
Arreglos en PHP
 
Material de administración y auditoría de la función informática
Material de administración y auditoría de la función informáticaMaterial de administración y auditoría de la función informática
Material de administración y auditoría de la función informática
 
Cpu12 Reference Manual
Cpu12 Reference ManualCpu12 Reference Manual
Cpu12 Reference Manual
 
Taller de programación de sistemas. Descripción de práctica 2
Taller de programación de sistemas. Descripción de práctica 2Taller de programación de sistemas. Descripción de práctica 2
Taller de programación de sistemas. Descripción de práctica 2
 
Taller de programación de sistemas. Descripción de práctica 1
Taller de programación de sistemas. Descripción de práctica 1Taller de programación de sistemas. Descripción de práctica 1
Taller de programación de sistemas. Descripción de práctica 1
 
Modos de direccionamiento para el HC12 de motorola
Modos de direccionamiento para el HC12 de motorolaModos de direccionamiento para el HC12 de motorola
Modos de direccionamiento para el HC12 de motorola
 
Programación Orientada a Objetos en JAVA
Programación Orientada a Objetos en JAVAProgramación Orientada a Objetos en JAVA
Programación Orientada a Objetos en JAVA
 
Recordando Java desde Cero
Recordando Java desde CeroRecordando Java desde Cero
Recordando Java desde Cero
 
Rubrica (primera entrega)
Rubrica (primera entrega)Rubrica (primera entrega)
Rubrica (primera entrega)
 
Cv resumido conaic
Cv resumido conaicCv resumido conaic
Cv resumido conaic
 
Introducción a la programación en ambientes web
Introducción a la programación en ambientes webIntroducción a la programación en ambientes web
Introducción a la programación en ambientes web
 
Servidores web
Servidores webServidores web
Servidores web
 
XHTML y CSS
XHTML y CSSXHTML y CSS
XHTML y CSS
 
My sql para principiantes
My sql para principiantesMy sql para principiantes
My sql para principiantes
 

Último

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 

Último (10)

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 

Manejo de archivos en JAVA

  • 1. TALLER DE PROGRAMACIÓN DE SISTEMAS Manejo de archivos Esencial para TODO el semestre Lic. Nancy Michelle Torres Villanueva 1
  • 2. TALLER DE PROGRAMACIÓN DE SISTEMAS Clases para IO Object RandomAccessFile File InputStream OutputStream Reader Writer PrintWriter BufferedReader BufferedWriter FileInputStream FileOutputStream FilterInputStream InputStreamReader FilterOutputStream OutputStreamReader FileReader DataInputStream DataOutputStream FileWriter BufferedInputStream BufferedOutputStream Lic. Nancy Michelle Torres Villanueva 2
  • 3. TALLER DE PROGRAMACIÓN DE SISTEMAS Clases para flujos de entrada Se utilizan para leer datos de una fuente de entrada (archivo, cadena o memoria) Flujo de bytes: InputStream, BufferedInputStream, DataInputStream, FileInputStream Flujo de caracteres: Reader, BufferReader, FileReader Lic. Nancy Michelle Torres Villanueva 3
  • 4. TALLER DE PROGRAMACIÓN DE SISTEMAS Clases para flujo de salida Son las homólogas a las clases de flujo de entrada y se utilizan para enviar flujos de datos a dispositivos de salida Flujo de bytes: OutputStream, PrintStream, BufferedOutputStream, DataOutputStream y FileOutputStream Flujo de caracteres : Writer, PrintWriter, FileWriter Lic. Nancy Michelle Torres Villanueva 4
  • 5. TALLER DE PROGRAMACIÓN DE SISTEMAS Clases de Archivo File y RandomAccesFile (mayor control sobre los archivos) Lic. Nancy Michelle Torres Villanueva 5
  • 6. TALLER DE PROGRAMACIÓN DE SISTEMAS La clase File ● La clase java.io.File permite obtener la información de las propiedades de un archivo. No es posible escribir o leer el contenido de un archivo, pero es útil para determinar el estado del mismo (p.e. si es un archivo o directorio). La forma general de construcción es: File obj = new File(ruta_del_archivo); ● Si el archivo no existe, aún así el objeto se construye. Lic. Nancy Michelle Torres Villanueva 6
  • 7. TALLER DE PROGRAMACIÓN DE SISTEMAS La clase RandomAccessFile ● Los archivos de acceso aleatorio se caracterizan porque es posible mover el apuntador de archivo a cualquier posición dentro del mismo y efectuar operaciones de escritura y lectura a la vez. La forma general de construcción es: RandomAccessFile arch = new RandomAccessFile(String nombre, String modo); RandomAccessFile arch = new RandomAccessFile(File obj, String modo); Lic. Nancy Michelle Torres Villanueva 7
  • 8. TALLER DE PROGRAMACIÓN DE SISTEMAS Flujos de archivos ● Otra forma de manipulación de archivos es tratándolos como flujos continuos de bytes. Cada archivo entonces sería una cinta con la secuencia de información para un archivo dado. ● A diferencia del acceso aleatorio, en éstos se presenta un acceso secuencial. Al inicio, el puntero de archivo se coloca en el primer byte y tendrá que ir consumiendo bytes para colocarse en los siguientes bytes hasta llegar al final. ● Lic. Nancy Michelle Torres Villanueva 8
  • 9. TALLER DE PROGRAMACIÓN DE SISTEMAS ... Flujos de archivos ● Si se desea leer desde el principio el archivo se tendrá que “rebobinar” la cinta y volverlo a leer. ● La clase InputStream es el flujo de entrada, mientras que OutputStream lo es para salida. Java ofrece subclases de estas clases base que especializan la interpretación de los bloques de bytes. Por ejemplo, FileInputStream asocia un archivo como un flujo de entrada, mientras que FileOutputStream trata a un archivo de escritura como un flujo de salida. Lic. Nancy Michelle Torres Villanueva 9
  • 10. TALLER DE PROGRAMACIÓN DE SISTEMAS ... Flujos de archivos ● Los métodos clásicos son read() y write(), respectivamente Lic. Nancy Michelle Torres Villanueva 10
  • 11. TALLER DE PROGRAMACIÓN DE SISTEMAS Flujos de objetos ● Es posible escribir y leer objetos de un flujo de cualquier clase. Las clases ObjectInputStream y ObjectOutputStream ofrecen la posibilidad de escribir tanto datos primitivos y objetos. ● Lo interesante de estas clases es que nos permiten “guardar” permanentemente el estado de un objeto y posteriormente recuperarlo. Por ejemplo, una ventana pudiera ser guardada en archivo y luego, restaurarla. Lic. Nancy Michelle Torres Villanueva 11
  • 12. TALLER DE PROGRAMACIÓN DE SISTEMAS ... Flujos de objetos ● Veamos la “magia” de esta clase. Por principio de cuentas, la serialización es el proceso de transferir los bytes correspondientes a un objeto a través de un flujo. Este proceso garantiza que el objeto se transmite completamente (de allí su nombre). ● Un objeto Java serializable es uno cuya clase implementa la interface Serializable. Esta interface no posee métodos, solo indica a la máquina virtual que ese objeto puede transmitirse por un flujo. ● Lic. Nancy Michelle Torres Villanueva 12
  • 13. TALLER DE PROGRAMACIÓN DE SISTEMAS ... Flujos de objetos ● La forma genérica de un objeto serializable es: import java.io.*; public class NomClase implements Serializable { //Código clase } Lic. Nancy Michelle Torres Villanueva 13
  • 14. TALLER DE PROGRAMACIÓN DE SISTEMAS Actividad ● Hagamos un pequeño programa que construya un objeto y lo guarde en archivo. Otro programa leerá el archivo y le “volverá a dar vida” al objeto. Lic. Nancy Michelle Torres Villanueva 14
  • 15. TALLER DE PROGRAMACIÓN DE SISTEMAS La clase BufferedReader ● Almacenamiento temporal en un buffer, para no actuar directamente sobre el stream. ● Igual que los streams de bytes se deben cerrar explícitamente para liberar sus recursos asociados (close). BufferedReader in = new BufferedReader(new FileReader(new File(ruta)); ● Para leer se utliza readLine() Lic. Nancy Michelle Torres Villanueva 15
  • 16. TALLER DE PROGRAMACIÓN DE SISTEMAS La clase BufferedWriter ● Para la escritura solo cambia el método BufferedWriter out = new BufferedWriter(new FileWriter(new File(ruta)); ● Para escribir se utiliza write() Lic. Nancy Michelle Torres Villanueva 16
  • 17. TALLER DE PROGRAMACIÓN DE SISTEMAS Actividad ● Generar un programa que lea un archivo, mientras lee cada renglon, deberá mostrarlo con un contador en pantalla y deberá detenerse al encontrar la palabra END. Lic. Nancy Michelle Torres Villanueva 17
  • 18. TALLER DE PROGRAMACIÓN DE SISTEMAS Tarea ● Investigar las diferencias entre las clases para lectura de archivos y evaluar la mas conveniente para las prácticas de este semestre. ● Lic. Nancy Michelle Torres Villanueva 18