SlideShare una empresa de Scribd logo
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 Objetos
jose_rob
 
Metodologiasad 1
Metodologiasad 1Metodologiasad 1
Metodologiasad 1
innovalabcun
 
Hilos En Java
Hilos En JavaHilos En Java
NORMALIZACIÓN
NORMALIZACIÓN  NORMALIZACIÓN
NORMALIZACIÓN
Jorge Paredes Toledo
 
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
Ingeniería Nica
 
Modelos de datos
Modelos de datosModelos de datos
Modelos de datos
Alfredo Colcha
 
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A ObjetosMetodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
hector_h30
 
Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos Conceptual
Sergio Sanchez
 
Lenguaje SQL
Lenguaje SQLLenguaje SQL
Lenguaje SQL
Genesis Davalos
 
Crear base de datos mysql command
Crear base de datos mysql commandCrear base de datos mysql command
Crear base de datos mysql command
Louis Jhosimar
 
Understanding java streams
Understanding java streamsUnderstanding java streams
Understanding java streams
Shahjahan Samoon
 
05 java excepciones
05 java excepciones05 java excepciones
05 java excepciones
Renny Batista
 
Bases de Datos Semanticas
Bases de Datos SemanticasBases de Datos Semanticas
Bases de Datos Semanticas
Erik Guerrero
 
Polimorfismo en Java
Polimorfismo en JavaPolimorfismo en Java
Polimorfismo en Java
Estefani Lucero
 
Abstract Factory
Abstract FactoryAbstract Factory
Abstract Factory
Juan Lizaldes
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
Edison E. Sepulveda de Jesus
 
colecciones en java
colecciones en javacolecciones en java
colecciones en java
www.mentoringit.com.mx
 
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
hugodanielgd
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
José Antonio Sandoval Acosta
 
ASP.NET WEB API
ASP.NET WEB APIASP.NET WEB API
ASP.NET WEB API
Thang Chung
 

La actualidad más candente (20)

Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
 
Metodologiasad 1
Metodologiasad 1Metodologiasad 1
Metodologiasad 1
 
Hilos En Java
Hilos En JavaHilos En Java
Hilos En Java
 
NORMALIZACIÓN
NORMALIZACIÓN  NORMALIZACIÓN
NORMALIZACIÓN
 
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
 
Modelos de datos
Modelos de datosModelos de datos
Modelos de datos
 
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A ObjetosMetodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
 
Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos Conceptual
 
Lenguaje SQL
Lenguaje SQLLenguaje SQL
Lenguaje SQL
 
Crear base de datos mysql command
Crear base de datos mysql commandCrear base de datos mysql command
Crear base de datos mysql command
 
Understanding java streams
Understanding java streamsUnderstanding java streams
Understanding java streams
 
05 java excepciones
05 java excepciones05 java excepciones
05 java excepciones
 
Bases de Datos Semanticas
Bases de Datos SemanticasBases de Datos Semanticas
Bases de Datos Semanticas
 
Polimorfismo en Java
Polimorfismo en JavaPolimorfismo en Java
Polimorfismo en Java
 
Abstract Factory
Abstract FactoryAbstract Factory
Abstract Factory
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
colecciones en java
colecciones en javacolecciones en java
colecciones en java
 
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
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
ASP.NET WEB API
ASP.NET WEB APIASP.NET WEB API
ASP.NET WEB API
 

Similar a Manejo de archivos en JAVA

Flujos y archivo en java
Flujos y archivo en javaFlujos y archivo en java
Flujos y archivo en java
Belen Gonzalez
 
Flujos y archivos
Flujos y archivosFlujos y archivos
Flujos y archivos
Hector Reyes
 
Archivos aleatorios
Archivos aleatoriosArchivos aleatorios
Archivos aleatorios
VICTOR VIERA BALANTA
 
Archivos 15
Archivos 15Archivos 15
Archivos 15
Cristian Cáceres
 
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
Luis Fernando Aguas Bucheli
 
S7-P2.pptx
S7-P2.pptxS7-P2.pptx
S7-Archivos
S7-ArchivosS7-Archivos
S7 p2
S7 p2S7 p2
PERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOSPERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOS
Darwin Durand
 
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
Luis Fernando Aguas Bucheli
 
Flujos y archivos
Flujos y archivosFlujos y archivos
Flujos y archivos
Carlos Capistran
 
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
Luis Fernando Aguas Bucheli
 
Metodos de entrada y Salida
Metodos de entrada y SalidaMetodos de entrada y Salida
Metodos de entrada y Salida
Cristian Andres
 
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
kunno10
 
Manejo+de+archivos+en+java
Manejo+de+archivos+en+javaManejo+de+archivos+en+java
Manejo+de+archivos+en+java
Whaleejaa Wha
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
MaiirOn Gaitan
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
Whaleejaa Wha
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
Whaleejaa Wha
 
Serializacion
SerializacionSerializacion
Programacion no numerica2
Programacion no numerica2Programacion no numerica2
Programacion no numerica2
Ing_Yarelis_Vargas
 

Similar a Manejo de archivos en JAVA (20)

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
 
Programacion no numerica2
Programacion no numerica2Programacion no numerica2
Programacion no numerica2
 

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 mobile
Michelle Torres
 
Uso de Puerto paralelo en C
Uso de Puerto paralelo en CUso de Puerto paralelo en C
Uso de Puerto paralelo en C
Michelle Torres
 
Arreglos en PHP
Arreglos en PHPArreglos en PHP
Arreglos en PHP
Michelle 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ática
Michelle Torres
 
Cpu12 Reference Manual
Cpu12 Reference ManualCpu12 Reference Manual
Cpu12 Reference Manual
Michelle 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 2
Michelle 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 1
Michelle 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 motorola
Michelle 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 JAVA
Michelle Torres
 
Recordando Java desde Cero
Recordando Java desde CeroRecordando Java desde Cero
Recordando Java desde Cero
Michelle Torres
 
Rubrica (primera entrega)
Rubrica (primera entrega)Rubrica (primera entrega)
Rubrica (primera entrega)
Michelle Torres
 
Cv resumido conaic
Cv resumido conaicCv resumido conaic
Cv resumido conaic
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 web
Michelle Torres
 
Servidores web
Servidores webServidores web
Servidores web
Michelle Torres
 
XHTML y CSS
XHTML y CSSXHTML y CSS
XHTML y CSS
Michelle Torres
 
My sql para principiantes
My sql para principiantesMy sql para principiantes
My sql para principiantes
Michelle 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

Gobernanza con SharePoint Premium de principio a fin
Gobernanza con SharePoint Premium de principio a finGobernanza con SharePoint Premium de principio a fin
Gobernanza con SharePoint Premium de principio a fin
Juan Carlos Gonzalez
 
informe de diagrama de pareto actividad segundo periodo 11-2
informe de diagrama de pareto actividad segundo periodo 11-2informe de diagrama de pareto actividad segundo periodo 11-2
informe de diagrama de pareto actividad segundo periodo 11-2
SofaNava1
 
Ingeniería en Telemática y ejercicios.pdf
Ingeniería en Telemática y ejercicios.pdfIngeniería en Telemática y ejercicios.pdf
Ingeniería en Telemática y ejercicios.pdf
Camila301231
 
El uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidianaEl uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidiana
231458066
 
analisis de grafica Realizado por Juliana Diaz Cardona.pdf
analisis de grafica Realizado por Juliana Diaz Cardona.pdfanalisis de grafica Realizado por Juliana Diaz Cardona.pdf
analisis de grafica Realizado por Juliana Diaz Cardona.pdf
RazeThefox
 
Plan de racionamiento de energía en Venezuela
Plan de racionamiento de energía en VenezuelaPlan de racionamiento de energía en Venezuela
Plan de racionamiento de energía en Venezuela
Gabrielm88
 
INFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIAINFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIA
renzocruz180310
 
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptxLA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
pauca1501alvar
 
trabajo _20240621_132119_0000.pdf-.......
trabajo _20240621_132119_0000.pdf-.......trabajo _20240621_132119_0000.pdf-.......
trabajo _20240621_132119_0000.pdf-.......
m15918387
 
Estructuras básicas_ conceptos básicos de programación (1).pdf
Estructuras básicas_ conceptos básicos de programación  (1).pdfEstructuras básicas_ conceptos básicos de programación  (1).pdf
Estructuras básicas_ conceptos básicos de programación (1).pdf
AnaSofaRosmaya
 
EXCEL AVANZADO_ DIAGRAMA DE NPARETO .pdf
EXCEL AVANZADO_ DIAGRAMA DE NPARETO .pdfEXCEL AVANZADO_ DIAGRAMA DE NPARETO .pdf
EXCEL AVANZADO_ DIAGRAMA DE NPARETO .pdf
SamuelBedoya6
 
Trabajo de ten¡cnologia 11-2.......... (1).pdf
Trabajo de ten¡cnologia 11-2.......... (1).pdfTrabajo de ten¡cnologia 11-2.......... (1).pdf
Trabajo de ten¡cnologia 11-2.......... (1).pdf
ElizabethAcostaQuinc
 
C1B3RWALL La red de cooperación de Madrid.pptx
C1B3RWALL La red de cooperación de Madrid.pptxC1B3RWALL La red de cooperación de Madrid.pptx
C1B3RWALL La red de cooperación de Madrid.pptx
Guillermo Obispo San Román
 
saludos en ingles de una forma mas facil y divertida
saludos en ingles de una forma mas facil y divertidasaludos en ingles de una forma mas facil y divertida
saludos en ingles de una forma mas facil y divertida
YendierMosqueralemus
 
trabajo 2do perido.pdf diagrama de pareto
trabajo 2do perido.pdf diagrama de paretotrabajo 2do perido.pdf diagrama de pareto
trabajo 2do perido.pdf diagrama de pareto
BRIANHERNANDEZVALENC
 
Uso de las Tics en la vida cotidiana.pptx
Uso de las Tics en la vida cotidiana.pptxUso de las Tics en la vida cotidiana.pptx
Uso de las Tics en la vida cotidiana.pptx
231485414
 
Plantilla carrier y tecnologia de TIGO.pptx
Plantilla carrier y tecnologia de TIGO.pptxPlantilla carrier y tecnologia de TIGO.pptx
Plantilla carrier y tecnologia de TIGO.pptx
edwinedsonsuyo
 
verbo to be en ingles una manera facil de aprenderlos
verbo to be en ingles una manera facil de aprenderlosverbo to be en ingles una manera facil de aprenderlos
verbo to be en ingles una manera facil de aprenderlos
YendierMosqueralemus
 
Estructuras básicas_ conceptos básicos de programación (1).pdf
Estructuras básicas_ conceptos básicos de programación  (1).pdfEstructuras básicas_ conceptos básicos de programación  (1).pdf
Estructuras básicas_ conceptos básicos de programación (1).pdf
MaraJos722801
 
Ejercicio Resuelto del Diagrama de Pareto Realizado por Hanna Isabella Garcia...
Ejercicio Resuelto del Diagrama de Pareto Realizado por Hanna Isabella Garcia...Ejercicio Resuelto del Diagrama de Pareto Realizado por Hanna Isabella Garcia...
Ejercicio Resuelto del Diagrama de Pareto Realizado por Hanna Isabella Garcia...
RazeThefox
 

Último (20)

Gobernanza con SharePoint Premium de principio a fin
Gobernanza con SharePoint Premium de principio a finGobernanza con SharePoint Premium de principio a fin
Gobernanza con SharePoint Premium de principio a fin
 
informe de diagrama de pareto actividad segundo periodo 11-2
informe de diagrama de pareto actividad segundo periodo 11-2informe de diagrama de pareto actividad segundo periodo 11-2
informe de diagrama de pareto actividad segundo periodo 11-2
 
Ingeniería en Telemática y ejercicios.pdf
Ingeniería en Telemática y ejercicios.pdfIngeniería en Telemática y ejercicios.pdf
Ingeniería en Telemática y ejercicios.pdf
 
El uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidianaEl uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidiana
 
analisis de grafica Realizado por Juliana Diaz Cardona.pdf
analisis de grafica Realizado por Juliana Diaz Cardona.pdfanalisis de grafica Realizado por Juliana Diaz Cardona.pdf
analisis de grafica Realizado por Juliana Diaz Cardona.pdf
 
Plan de racionamiento de energía en Venezuela
Plan de racionamiento de energía en VenezuelaPlan de racionamiento de energía en Venezuela
Plan de racionamiento de energía en Venezuela
 
INFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIAINFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIA
 
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptxLA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
 
trabajo _20240621_132119_0000.pdf-.......
trabajo _20240621_132119_0000.pdf-.......trabajo _20240621_132119_0000.pdf-.......
trabajo _20240621_132119_0000.pdf-.......
 
Estructuras básicas_ conceptos básicos de programación (1).pdf
Estructuras básicas_ conceptos básicos de programación  (1).pdfEstructuras básicas_ conceptos básicos de programación  (1).pdf
Estructuras básicas_ conceptos básicos de programación (1).pdf
 
EXCEL AVANZADO_ DIAGRAMA DE NPARETO .pdf
EXCEL AVANZADO_ DIAGRAMA DE NPARETO .pdfEXCEL AVANZADO_ DIAGRAMA DE NPARETO .pdf
EXCEL AVANZADO_ DIAGRAMA DE NPARETO .pdf
 
Trabajo de ten¡cnologia 11-2.......... (1).pdf
Trabajo de ten¡cnologia 11-2.......... (1).pdfTrabajo de ten¡cnologia 11-2.......... (1).pdf
Trabajo de ten¡cnologia 11-2.......... (1).pdf
 
C1B3RWALL La red de cooperación de Madrid.pptx
C1B3RWALL La red de cooperación de Madrid.pptxC1B3RWALL La red de cooperación de Madrid.pptx
C1B3RWALL La red de cooperación de Madrid.pptx
 
saludos en ingles de una forma mas facil y divertida
saludos en ingles de una forma mas facil y divertidasaludos en ingles de una forma mas facil y divertida
saludos en ingles de una forma mas facil y divertida
 
trabajo 2do perido.pdf diagrama de pareto
trabajo 2do perido.pdf diagrama de paretotrabajo 2do perido.pdf diagrama de pareto
trabajo 2do perido.pdf diagrama de pareto
 
Uso de las Tics en la vida cotidiana.pptx
Uso de las Tics en la vida cotidiana.pptxUso de las Tics en la vida cotidiana.pptx
Uso de las Tics en la vida cotidiana.pptx
 
Plantilla carrier y tecnologia de TIGO.pptx
Plantilla carrier y tecnologia de TIGO.pptxPlantilla carrier y tecnologia de TIGO.pptx
Plantilla carrier y tecnologia de TIGO.pptx
 
verbo to be en ingles una manera facil de aprenderlos
verbo to be en ingles una manera facil de aprenderlosverbo to be en ingles una manera facil de aprenderlos
verbo to be en ingles una manera facil de aprenderlos
 
Estructuras básicas_ conceptos básicos de programación (1).pdf
Estructuras básicas_ conceptos básicos de programación  (1).pdfEstructuras básicas_ conceptos básicos de programación  (1).pdf
Estructuras básicas_ conceptos básicos de programación (1).pdf
 
Ejercicio Resuelto del Diagrama de Pareto Realizado por Hanna Isabella Garcia...
Ejercicio Resuelto del Diagrama de Pareto Realizado por Hanna Isabella Garcia...Ejercicio Resuelto del Diagrama de Pareto Realizado por Hanna Isabella Garcia...
Ejercicio Resuelto del Diagrama de Pareto Realizado por Hanna Isabella Garcia...
 

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