SlideShare uma empresa Scribd logo
1 de 14
Entrada y Salida de datos en JAVA
ARCHIVO
   Un archivo es un conjunto de datos de largo variable
    identificado con un nombre. Un nombre de
    archivo suele tener dos partes separadas por un punto.
    La primera parte alude a su propósito; la segunda, llamada
    extensión, indica el tipo de datos que contiene.

   Un archivo cuyo nombre termina en “.class” contiene la
    definición de una clase Java y el código ejecutable para sus
    métodos; un archivo terminado en quot;.javaquot; contiene el texto
    del código fuente escrito por el programador. Los
    archivos se agrupan en directorios (hoy en día denominados
    carpetas).
DIRECTORIO
   Un directorio es un conjunto de archivos
    guardados bajo un nombre común, el
    nombre del directorio. Un directorio puede
    estar dentro de otro directorio, llamado a v
    eces quot;directorio padre”. Se forma así un
    árbol de directorios, una organización
    jerárquica de directorios y subdirectorios
    contenidos en ellos, en varios niveles.
RUTA O PATH
 La lista ordenada de directorios que lleva
  desde la raíz del árbol hasta un archivo
  específico se denomina una ruta o en inglé
  s quot;pathquot;. Un ejemplo en MS Windows sería
  C:Mis DocumentosFHernandezDesaSoft
  EntradaSalidaapuntes.pdf
 En Unix o Linux,
  /home/fhernandez/DesaSoft/EntradaSalida
  /apuntes.pdf
TIPOS DE ACCESO A
              DATOS
   Acceso aleatorio (quot;randomquot;): Los archivos de acceso aleatorio, al igual que lo que su
    cede usualmente con la memoria (RAM=Random Access Memory), permiten acceder a
    los datos en forma no secuencial, desordenada. Esto implica que el archivo debe estar
    disponible en su totalidad al momento de ser accedido, algo que no siempre es posible

   Acceso secuencial (flujos o quot;streamsquot;): En este caso los datos son leídos secuenci
    almente, desde el comienzo del archivo hasta el final (el cual muchas veces no se
    conoce a priori).
    Este es el caso de la lectura del teclado o la escritura en una consola de texto, no se
    sabe cuándo el operador terminará de escribir.

   Concatenación (tuberías o quot;pipesquot;): Muchas veces es útil armar conexion
    es entre programas que corren simultáneamente dentro de una misma máquina, de
    forma que lo que uno produce se envía por un “tubo” para ser recibido por el otro,
    que está esperando a la salida del tubo. Las tuberías o quot;pipesquot; cumplen esta función.
ENTRADA Y SALIDA
ESTÁNDAR (ESTANDAR I/O)
   En sistemas como MS Windows o Unix (incluyend
    o Linux), en donde existe el concepto de terminal
    o consola de texto, el sistema operativo provee
    un mecanismo básico de interacción con el
    usuario conectando el flujo de datos proveniente
    del teclado a la llamada “entrada estándar” del
    programa, mostrando la quot;salida estándarquot; del
    programa como texto desplegado en la pantalla.
    La entrada estándar y la salida estándar pueden
    redireccionarse, haciendo por ejemplo que se lea
    de un archivo y se escriba en otro.
FLUJOS DE ENTRADA Y
            SALIDA
   Un flujo de entrada / salida (I/O stream, Input / Output stream)
    representa una fuente desde la cual se reciben datos o un
    destino hacia el cual se envían datos. Un flujo de datos puede
    provenir o dirigirse hacia archivos en disco, dispositivos de
    comunicaciones, otros programas o arreglos en memoria. Los
    datos pueden ser bytes, tipos primitivos, caracteres propios de
    un idioma local, u objetos. Los flujos pueden simplemente
    transferir datos sin modificación o manipular esos datos para
    transformarlos de diversas maneras como parte del proceso de
    transferencia. Sea cual sea el tipo de datos, un flujo se
    presenta como una secuencia de datos. Un flujo de entrada (in
    put stream) lee datos de una fuente, un item por vez. Un flujo
    de salida (output stream) escribe datos en un destino, un item
    por vez.
FLUJOS DE BYTES
         (BYTE STREAMS)
   Los flujos de bytes realizan operaciones
    de entrada y salida en base a bytes de
    8 bits. Todos las clases de flujos de
    bytes descienden de las clases
    InputStream y OutputStream. Las clases
    FileInputStream y FileOutputStream ma
    nipulan flujos de bytes provenientes o di
    rigidos hacia archivos en disco.
FLUJOS DE
           CARACTERES
   Los flujos de caracteres suelen ser clases
    envolventes de los flujos de bytes. Los
    flujos de caracteres usan los flujos de
    bytes a nivel físico; los flujos de bytes
    realizan las transformaciones requeridas
    por los esquemas de codificación en forma
    transparente (invisible) para el usuario. La
    clase FileReader usa FileInputStream, la
    clase FileWriter usa FileOutputStream.
FLUJO DE CARACTERES
   Un buffer es un área de memoria utilizada como almacenamiento
    intermedio para mejorar la eficiencia de las operaciones de entrada
    salida: escribir o leer de memoria es mucho más rápido que escribir o
    leer de dispositivos periféricos. Cuando se usan buffers sólo se lee o
    escribe en el dispositivo final cuando el buffer está lleno, reduciendo la
    cantidad de operaciones de lectura y escritura sobre los dispositivos
    lentos (más lentos que la memoria). Las clases para entrada salida
    con buffer son clases envolventes de las clases para entrada salida
    sin buffer. Las clases disponibles para entrada salida con buffer son:

   BufferedInputStream y BufferedOutputStream para flujos de bytes,
    BufferedReader y BufferedWriter para flujos de caracteres. Estas
    clases disponen del método flush() para forzar la operación de entrada
    salida esté o no el buffer lleno, operación que conviene hacer en
    momentos críticos donde puede haber pérdida de información.
FLUJO DE DATOS
   Los flujos de datos soportan operaciones de e
    ntrada salida de datos de tipo primitivo (bool
    ean, char, byte, short, int, long, float, y double)
    así como cadenas de caracteres (String).

   Los flujos de datos implementan la interfaz
    DataInput o la interfaz DataOutput. Las
    implementaciones más usadas de estas
    interfaces son las clases DataInputStream y
    DataOutputStream.
FLUJO DE OBJETOS
   Los flujos de objetos permiten realizar operaciones de entrada salida de objetos. Muc
    has de las clases estándar soportan serialización de sus objetos, implementando la
    Interfaz Serializable.

    La serialización de objetos permite guardar el objeto en un archivo escribiendo sus
    datos en un flujo de bytes. Es posible luego leer desde el archivo el flujo de bytes y
    reconstruir el objeto original.

   Las clases de flujos de objetos son ObjectInputStream y ObjectOutputStream. Estas
    clases implementan las interfaces ObjectInput y ObjectOutput, subinterfaces de
    DataInput y DataOutput. En consecuencia, todos los métodos de entrada salida que
    estaban disponibles para flujos de datos primitivos estarán implementados también
    para flujos de objetos.

   Si un objeto tiene referencias a objetos de otras clases, los métodos writeObject y
    readObject deberán recorrer la jerarquía de clases buscando todo lo necesario para
    poder construir el flujo con todos los objetos necesarios. Los objetos guardados se
    reconstruyen exactamente como estaban; si existen varias referencias a un mismo
    objeto, cuando los objetos sean reconstruidos todas esas referencias seguirán
    apuntando al mismo objeto.
EL PAQUETE java.io
   El examen de la API de Java muestra la complejidad
     y variedad de clases contenidas en el paquete
    java.io. La visión quot;Treequot; en la API de java.io muestra
     la jerarquía de clases.

    Algunas otras clases útiles permiten:

   Manipular archivos comprimidos en el paquete java.
    util.zip: ZipFile, ZipInputStream,
    ZipOutputStream), para formato ZIP, y sus equivale
    ntes GZIPFile, etc. para formato GZIP, agregar
    checksums para detectar errores o alteraciones de
    archivos, CheckedInputStream, CheckedOutputSt
    ream.
Entrada y Salida de datos en Java

Mais conteúdo relacionado

Mais procurados

Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
MaiirOn Gaitan
 
PERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOSPERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOS
Darwin Durand
 
Archivos aleatorios en java
Archivos aleatorios en javaArchivos aleatorios en java
Archivos aleatorios en java
jent46
 
11. lectura y escritura de información
11. lectura y escritura de información11. lectura y escritura de información
11. lectura y escritura de información
Anuska González
 
Trabajo sobre archivos en java.. programacion no numerica ii
Trabajo sobre archivos en java.. programacion no numerica iiTrabajo sobre archivos en java.. programacion no numerica ii
Trabajo sobre archivos en java.. programacion no numerica ii
rafaelrojas91
 
Fichero c y c++
Fichero c y c++Fichero c y c++
Fichero c y c++
mauro0210
 

Mais procurados (20)

Flujos y archivos
Flujos y archivosFlujos y archivos
Flujos y archivos
 
Manejo Avanzado de Flujos de Entrada/Salida
Manejo Avanzado de Flujos de Entrada/SalidaManejo Avanzado de Flujos de Entrada/Salida
Manejo Avanzado de Flujos de Entrada/Salida
 
Flujos y archivo en java
Flujos y archivo en javaFlujos y archivo en java
Flujos y archivo en java
 
Tipos de datos entrada y salida
Tipos de datos entrada y salidaTipos de datos entrada y salida
Tipos de datos entrada y salida
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
 
PERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOSPERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN 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
 
Archivos aleatorios en java
Archivos aleatorios en javaArchivos aleatorios en java
Archivos aleatorios en java
 
11. lectura y escritura de información
11. lectura y escritura de información11. lectura y escritura de información
11. lectura y escritura de información
 
ARCHIVOS
ARCHIVOS ARCHIVOS
ARCHIVOS
 
Trabajo sobre archivos en java.. programacion no numerica ii
Trabajo sobre archivos en java.. programacion no numerica iiTrabajo sobre archivos en java.. programacion no numerica ii
Trabajo sobre archivos en java.. programacion no numerica ii
 
Utilización de la clase math
Utilización de la clase mathUtilización de la clase math
Utilización de la clase math
 
Java - No numérica - II
Java - No numérica - IIJava - No numérica - II
Java - No numérica - II
 
Java
JavaJava
Java
 
Fichero c y c++
Fichero c y c++Fichero c y c++
Fichero c y c++
 
Archivos
ArchivosArchivos
Archivos
 
Jyoc java-cap17 persistencia. nio
Jyoc java-cap17 persistencia. nioJyoc java-cap17 persistencia. nio
Jyoc java-cap17 persistencia. nio
 
Suarez l 2001 el paquete java io
Suarez l 2001 el paquete java ioSuarez l 2001 el paquete java io
Suarez l 2001 el paquete java io
 
Manejo archivos
Manejo archivosManejo archivos
Manejo archivos
 
Archivos en c clase unsam
Archivos en c clase unsamArchivos en c clase unsam
Archivos en c clase unsam
 

Destaque

Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Java
quesada_diego
 
Ejercicios propuesto 3
Ejercicios propuesto 3Ejercicios propuesto 3
Ejercicios propuesto 3
jfranco_123
 
Sentencias de repetición en Java
Sentencias de repetición en JavaSentencias de repetición en Java
Sentencias de repetición en Java
Jdcaste
 
Java _Capitulo_9
Java _Capitulo_9Java _Capitulo_9
Java _Capitulo_9
Espol
 

Destaque (20)

12 Curso de POO en java - entrada y salida de datos
12 Curso de POO en java - entrada y salida de datos12 Curso de POO en java - entrada y salida de datos
12 Curso de POO en java - entrada y salida de datos
 
Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Java
 
Java Mapa mental
Java Mapa mentalJava Mapa mental
Java Mapa mental
 
Ejercicios propuesto 3
Ejercicios propuesto 3Ejercicios propuesto 3
Ejercicios propuesto 3
 
Estructuras de control selectivas
Estructuras de control selectivasEstructuras de control selectivas
Estructuras de control selectivas
 
18 Curso POO en java - contenedores
18 Curso POO en java - contenedores18 Curso POO en java - contenedores
18 Curso POO en java - contenedores
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
 
Sintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacionSintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacion
 
Programacion java basica
Programacion java basicaProgramacion java basica
Programacion java basica
 
Do while en Java
Do while en JavaDo while en Java
Do while en Java
 
Lenguaje de programacion i
Lenguaje de programacion iLenguaje de programacion i
Lenguaje de programacion i
 
Sentencias de repetición en Java
Sentencias de repetición en JavaSentencias de repetición en Java
Sentencias de repetición en Java
 
Tipos de datos de ENTRADA
Tipos de datos de ENTRADATipos de datos de ENTRADA
Tipos de datos de ENTRADA
 
Archivos
ArchivosArchivos
Archivos
 
Archivos Java
Archivos JavaArchivos Java
Archivos Java
 
Aplicaciones java
Aplicaciones javaAplicaciones java
Aplicaciones java
 
Implementación de Aplicaciones Basadas en Texto
Implementación de Aplicaciones Basadas en TextoImplementación de Aplicaciones Basadas en Texto
Implementación de Aplicaciones Basadas en Texto
 
Java_Capitulo 10
Java_Capitulo 10Java_Capitulo 10
Java_Capitulo 10
 
Java _Capitulo_9
Java _Capitulo_9Java _Capitulo_9
Java _Capitulo_9
 
Curso Java Avanzado 1 IntroduccióN Al Desarrollo Web
Curso Java Avanzado   1 IntroduccióN Al Desarrollo WebCurso Java Avanzado   1 IntroduccióN Al Desarrollo Web
Curso Java Avanzado 1 IntroduccióN Al Desarrollo Web
 

Semelhante a Entrada y Salida de datos en Java

Trabajo sobre archivos en java.. programación no numérica II
Trabajo sobre archivos en java.. programación no numérica IITrabajo sobre archivos en java.. programación no numérica II
Trabajo sobre archivos en java.. programación no numérica II
rafaelrojas91
 
Programacion no numerica ii
Programacion no numerica iiProgramacion no numerica ii
Programacion no numerica ii
rolmanpaul
 
Programacion no numerica ii
Programacion no numerica iiProgramacion no numerica ii
Programacion no numerica ii
rolmanpaul
 
ARCHIVO EN LENGUAJE C
ARCHIVO EN LENGUAJE C ARCHIVO EN LENGUAJE C
ARCHIVO EN LENGUAJE C
wILFAab
 

Semelhante a Entrada y Salida de datos en Java (20)

Aplicaciones java
Aplicaciones javaAplicaciones java
Aplicaciones java
 
Aplicaciones en java_genesis_duran (3)
Aplicaciones en java_genesis_duran (3)Aplicaciones en java_genesis_duran (3)
Aplicaciones en java_genesis_duran (3)
 
Trabajo sobre archivos en java.. programación no numérica II
Trabajo sobre archivos en java.. programación no numérica IITrabajo sobre archivos en java.. programación no numérica II
Trabajo sobre archivos en java.. programación no numérica II
 
Archivos 15
Archivos 15Archivos 15
Archivos 15
 
Archivo de datos
Archivo de datosArchivo de datos
Archivo de datos
 
Java
JavaJava
Java
 
Programacion no numerica ii
Programacion no numerica iiProgramacion no numerica ii
Programacion no numerica ii
 
Aplicaciones java
Aplicaciones javaAplicaciones java
Aplicaciones java
 
Aplicaciones java
Aplicaciones javaAplicaciones java
Aplicaciones java
 
Objetivo 01 Archivos de Texto
Objetivo 01 Archivos de TextoObjetivo 01 Archivos de Texto
Objetivo 01 Archivos de Texto
 
Programacion no numerica2
Programacion no numerica2Programacion no numerica2
Programacion no numerica2
 
Serializacion
SerializacionSerializacion
Serializacion
 
Programacion no numerica ii
Programacion no numerica iiProgramacion no numerica ii
Programacion no numerica ii
 
ARCHIVO EN LENGUAJE C
ARCHIVO EN LENGUAJE C ARCHIVO EN LENGUAJE C
ARCHIVO EN LENGUAJE C
 
ARCHIVO EN LENGUAJE C
ARCHIVO EN LENGUAJE C ARCHIVO EN LENGUAJE C
ARCHIVO EN LENGUAJE C
 
Lab archivos
Lab archivosLab archivos
Lab archivos
 
Manejo_archivos.ppt
Manejo_archivos.pptManejo_archivos.ppt
Manejo_archivos.ppt
 
Java
JavaJava
Java
 
Gestion de archivos
Gestion de archivosGestion de archivos
Gestion de archivos
 
11 archivos guia numero 4
11 archivos guia numero 411 archivos guia numero 4
11 archivos guia numero 4
 

Último

🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 

Último (20)

Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
Linea del tiempo - Filosofos Cristianos.docx
Linea del tiempo - Filosofos Cristianos.docxLinea del tiempo - Filosofos Cristianos.docx
Linea del tiempo - Filosofos Cristianos.docx
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 

Entrada y Salida de datos en Java

  • 1. Entrada y Salida de datos en JAVA
  • 2. ARCHIVO  Un archivo es un conjunto de datos de largo variable identificado con un nombre. Un nombre de archivo suele tener dos partes separadas por un punto. La primera parte alude a su propósito; la segunda, llamada extensión, indica el tipo de datos que contiene.  Un archivo cuyo nombre termina en “.class” contiene la definición de una clase Java y el código ejecutable para sus métodos; un archivo terminado en quot;.javaquot; contiene el texto del código fuente escrito por el programador. Los archivos se agrupan en directorios (hoy en día denominados carpetas).
  • 3. DIRECTORIO  Un directorio es un conjunto de archivos guardados bajo un nombre común, el nombre del directorio. Un directorio puede estar dentro de otro directorio, llamado a v eces quot;directorio padre”. Se forma así un árbol de directorios, una organización jerárquica de directorios y subdirectorios contenidos en ellos, en varios niveles.
  • 4. RUTA O PATH  La lista ordenada de directorios que lleva desde la raíz del árbol hasta un archivo específico se denomina una ruta o en inglé s quot;pathquot;. Un ejemplo en MS Windows sería C:Mis DocumentosFHernandezDesaSoft EntradaSalidaapuntes.pdf  En Unix o Linux, /home/fhernandez/DesaSoft/EntradaSalida /apuntes.pdf
  • 5. TIPOS DE ACCESO A DATOS  Acceso aleatorio (quot;randomquot;): Los archivos de acceso aleatorio, al igual que lo que su cede usualmente con la memoria (RAM=Random Access Memory), permiten acceder a los datos en forma no secuencial, desordenada. Esto implica que el archivo debe estar disponible en su totalidad al momento de ser accedido, algo que no siempre es posible  Acceso secuencial (flujos o quot;streamsquot;): En este caso los datos son leídos secuenci almente, desde el comienzo del archivo hasta el final (el cual muchas veces no se conoce a priori). Este es el caso de la lectura del teclado o la escritura en una consola de texto, no se sabe cuándo el operador terminará de escribir.  Concatenación (tuberías o quot;pipesquot;): Muchas veces es útil armar conexion es entre programas que corren simultáneamente dentro de una misma máquina, de forma que lo que uno produce se envía por un “tubo” para ser recibido por el otro, que está esperando a la salida del tubo. Las tuberías o quot;pipesquot; cumplen esta función.
  • 6. ENTRADA Y SALIDA ESTÁNDAR (ESTANDAR I/O)  En sistemas como MS Windows o Unix (incluyend o Linux), en donde existe el concepto de terminal o consola de texto, el sistema operativo provee un mecanismo básico de interacción con el usuario conectando el flujo de datos proveniente del teclado a la llamada “entrada estándar” del programa, mostrando la quot;salida estándarquot; del programa como texto desplegado en la pantalla. La entrada estándar y la salida estándar pueden redireccionarse, haciendo por ejemplo que se lea de un archivo y se escriba en otro.
  • 7. FLUJOS DE ENTRADA Y SALIDA  Un flujo de entrada / salida (I/O stream, Input / Output stream) representa una fuente desde la cual se reciben datos o un destino hacia el cual se envían datos. Un flujo de datos puede provenir o dirigirse hacia archivos en disco, dispositivos de comunicaciones, otros programas o arreglos en memoria. Los datos pueden ser bytes, tipos primitivos, caracteres propios de un idioma local, u objetos. Los flujos pueden simplemente transferir datos sin modificación o manipular esos datos para transformarlos de diversas maneras como parte del proceso de transferencia. Sea cual sea el tipo de datos, un flujo se presenta como una secuencia de datos. Un flujo de entrada (in put stream) lee datos de una fuente, un item por vez. Un flujo de salida (output stream) escribe datos en un destino, un item por vez.
  • 8. FLUJOS DE BYTES (BYTE STREAMS)  Los flujos de bytes realizan operaciones de entrada y salida en base a bytes de 8 bits. Todos las clases de flujos de bytes descienden de las clases InputStream y OutputStream. Las clases FileInputStream y FileOutputStream ma nipulan flujos de bytes provenientes o di rigidos hacia archivos en disco.
  • 9. FLUJOS DE CARACTERES  Los flujos de caracteres suelen ser clases envolventes de los flujos de bytes. Los flujos de caracteres usan los flujos de bytes a nivel físico; los flujos de bytes realizan las transformaciones requeridas por los esquemas de codificación en forma transparente (invisible) para el usuario. La clase FileReader usa FileInputStream, la clase FileWriter usa FileOutputStream.
  • 10. FLUJO DE CARACTERES  Un buffer es un área de memoria utilizada como almacenamiento intermedio para mejorar la eficiencia de las operaciones de entrada salida: escribir o leer de memoria es mucho más rápido que escribir o leer de dispositivos periféricos. Cuando se usan buffers sólo se lee o escribe en el dispositivo final cuando el buffer está lleno, reduciendo la cantidad de operaciones de lectura y escritura sobre los dispositivos lentos (más lentos que la memoria). Las clases para entrada salida con buffer son clases envolventes de las clases para entrada salida sin buffer. Las clases disponibles para entrada salida con buffer son:  BufferedInputStream y BufferedOutputStream para flujos de bytes, BufferedReader y BufferedWriter para flujos de caracteres. Estas clases disponen del método flush() para forzar la operación de entrada salida esté o no el buffer lleno, operación que conviene hacer en momentos críticos donde puede haber pérdida de información.
  • 11. FLUJO DE DATOS  Los flujos de datos soportan operaciones de e ntrada salida de datos de tipo primitivo (bool ean, char, byte, short, int, long, float, y double) así como cadenas de caracteres (String).  Los flujos de datos implementan la interfaz DataInput o la interfaz DataOutput. Las implementaciones más usadas de estas interfaces son las clases DataInputStream y DataOutputStream.
  • 12. FLUJO DE OBJETOS  Los flujos de objetos permiten realizar operaciones de entrada salida de objetos. Muc has de las clases estándar soportan serialización de sus objetos, implementando la Interfaz Serializable. La serialización de objetos permite guardar el objeto en un archivo escribiendo sus datos en un flujo de bytes. Es posible luego leer desde el archivo el flujo de bytes y reconstruir el objeto original.  Las clases de flujos de objetos son ObjectInputStream y ObjectOutputStream. Estas clases implementan las interfaces ObjectInput y ObjectOutput, subinterfaces de DataInput y DataOutput. En consecuencia, todos los métodos de entrada salida que estaban disponibles para flujos de datos primitivos estarán implementados también para flujos de objetos.  Si un objeto tiene referencias a objetos de otras clases, los métodos writeObject y readObject deberán recorrer la jerarquía de clases buscando todo lo necesario para poder construir el flujo con todos los objetos necesarios. Los objetos guardados se reconstruyen exactamente como estaban; si existen varias referencias a un mismo objeto, cuando los objetos sean reconstruidos todas esas referencias seguirán apuntando al mismo objeto.
  • 13. EL PAQUETE java.io  El examen de la API de Java muestra la complejidad y variedad de clases contenidas en el paquete java.io. La visión quot;Treequot; en la API de java.io muestra la jerarquía de clases. Algunas otras clases útiles permiten:  Manipular archivos comprimidos en el paquete java. util.zip: ZipFile, ZipInputStream, ZipOutputStream), para formato ZIP, y sus equivale ntes GZIPFile, etc. para formato GZIP, agregar checksums para detectar errores o alteraciones de archivos, CheckedInputStream, CheckedOutputSt ream.