SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Unidad 4: Manejo de
archivos y seguimiento del
proyecto
Autor(es):
Ciencias de la Ingeniería
Carrera de Sistemas
Programación Orientada a Objetos
Mg. Luis Fernando Aguas Bucheli
+593 984015184
@Aguaszoft
Laguas@uisrael.edu.ec
Aguaszoft@Outlook.es
“Ser grande en las cosas pequeñas, ser
noble y heroica en los detalles insípidos
de la vida cotidiana, es una virtud tan
rara como ser digna de canonización.”
(Anónimo)
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Programación Orientada a Objetos
Resultado de Aprendizaje
• Analizar metodologías y herramientas tecnológicas, que
mejor se ajusten a las necesidades de las organizaciones.
Contenidos
• Introducción
• Objetivos
• Desarrollo de Contenidos
• Conclusiones
• Bibliografía
Objetivos
• Adquirir los conceptos básicos relacionados con el manejo de
archivos
• Reconocer las características del manejo de archivos
4.1. Genéricos
Flujo
• Es una secuencia de bytes (carácteres)
que se mueve desde una fuente hacia un
destino a través de una trayectoria de
comunicación
Fuente
Destino
Fuente ProgramaLectura
Programa Escritura Destino
Flujo
Operación normal de flujos
• La fuente/destino puede ser memoria, un
archivo, un socket, etc.
Lectura/Escritura de flujos
Abrir flujo
Cerrar flujo
Leer mientras
exista información
Abrir flujo
Cerrar flujo
Escrbir mientras
exista información
Ejemplo
import java.io.*;
public class LeeArchivo1 {
public static void main(String[] args) throws IOException {
FileInputStream leeArchivo = new FileInputStream(args[0]);
int caracter;
while ((caracter = leeArchivo.read()) != -1)
System.out.print((char) caracter);
leeArchivo.close();
}
}
Ejemplo
import java.io.*;
public class LeeArchivo1 {
public static void main(String[] args) throws IOException {
FileInputStream leeArchivo = new FileInputStream(args[0]);
int caracter;
while ((caracter = leeArchivo.read()) != -1)
System.out.print((char) caracter);
leeArchivo.close();
}
}
leeArchivo.read()
A3
5C
23
DD 4A 2D 21 8F BC A3 34
65
B2
CC
Jerarquía de flujos
• La mayoría de las clases de flujos se derivan de
InputStream y OutputStream
• Esto permite utilizar clases que son más
adecuadas a una tarea particular, como en el
ejemplo anterior, en lugar de utilizar un flujo
genérico y nosotros adecuarlo por programación
• InputStream y OutputStream nos dan
algunos métodos genéricos para lectura y
escritura de bytes. Las subclases nos dan los
métodos particulares que son más apropiados
dependiendo de la fuente o destino
InputStream
Object
InputStream (abstract)
FileInputStream
PipedInputStream
FilterInputStream (abstract)
DataInputStream
BufferedInputStream
LineNumberInputStream
PushbackInputStream
ByteArrayInputStream
SequenceInputStream
StringBufferInputStream
OutputStream
Object
OutputStream (abstract)
FileOutputStream
PipedOutputStream
FilterOutputStream (abstract)
DataOutputStream
BufferedOutputStream
PrintStream
ByteArrayOutputStream
Métodos de InputStream
read()
• public int read() throws IOException
o Lee un byte del flujo de entrada y lo regresa
o Regresa -1 si se alcanza el final del flujo
o Se bloquea (espera) hasta que existan datos
disponibles
o Arroja la excepción IOException si ocurre un error
durante la lectura
o Normalmente reprogramado por las subclases
read(byte[])
• public int read(byte[] b) throws IOException
o Lee una secuencia de bytes del flujo de entrada y los
pone en el arreglo especificado
o Regresa la cantidad de bytes leidos
o Regresa -1 si es que se alcanzó el final del flujo de
entrada
o Se bloquea hasta que existan datos disponibles
o Arroja la excepción IOException si ocurre un error
durante la lectura
read(byte[],int,int)
• public int read(byte[] b,int des,int lon)
throws IOException
o Lee una secuencia de lon bytes y los pone en el
arreglo b a partir del índice des
o Regresa el número de bytes leidos
o Regresa -1 si es que se alcanzó el final del flujo de
entrada
o Se bloquea hasta que encuentre datos disponibles
o Arroja la excepción IOException si ocurre un error
durante la lectura
skip(long)
• public long skip(long n) throws IOException
o Se brinca (y descarta) un número de bytes
especificado por n
o Regresa el número de bytes que realmente se
descartaron
o Regresa -1 si se alcanzó el final del flujo de entrada
o Arroja la excepción IOException si ocurre un error
durante el salto
available()
• public int available() throws IOException
o Regresa el número de bytes que se pueden leer del
flujo de entrada sin que la operación de lectura
bloquee la secuencia del programa
o Se utiliza para "ver", sin leer, cuantos datos hay
disponibles
o En algunos sistemas el resultado arrojado no es
confiable
o Arroja la excepción IOException si ocurre un error
durante la operación
close()
• public void close() throws IOException
o Cierra el flujo de entrada y libera todos los recursos
asociados (asignados por el sistema operativo) con el
flujo
o Siempre es conveniente cerrar los flujos para
asegurarse que el procesamiento del flujo por parte
del sistema termine correctamente
o Arroja la excepción IOException si ocurre un error
durante la operación
mark(int)
• public synchronized void mark(int readlimit)
o Marca la posición actual en el flujo de entrada, para
posteriormente regresar a ella en caso necesario
o Regresa el número de bytes que se pueden leer después
de la marca antes de que la marca sea invalidada por la
capacidad del buffer
o boolean markSupported() indica si el flujo de
entrada permite marcas
o void reset() reposiciona al flujo en la última posición
marcada
Métodos de OutputStream
write(...)
• public void write(int b) throws IOException
o Escribe un byte al flujo de salida
• public void write(byte[] b)
throws IOException
o Escribe una secuencia de bytes al flujo de salida
• public void write(byte [] b,int des,int lon)
throws IOException
o Escribe lon bytes del arreglo b a partir de des
• Se bloquean hasta que el o los datos sean
escritos
• Arrojan IOException en caso de error durante
la escritura
flush()
• public void flush() throws IOException
o Ocasiona que todo dato que esté en el buffer sea
escrito inmediatamente al flujo de salida
o Se tiene que reprogramar en las subclases porque
en OutputStream no hace nada
• public void close() throws IOException
o Cierra el flujo de salida y libera los recursos
asociados por el sistema
close()
Referencias
Bibliográficas
• LEOBARDO, L. (2006). METODOLOGÍA DE
LA PROGRAMACIÓN ORIENTADA A
OBJETOS, México, Alfaomega.
• LOPEZ, J., ALBERCA G. (2009): GUÍA DE
FUNDAMENTOS DE LA PROGRAMACIÓN,
Loja – Ecuador, UTPL
Gracias
Mg. Luis Fernando Aguas Bucheli
+593 984015184
@Aguaszoft
Laguas@uisrael.edu.ec
Aguaszoft@Outlook.es

Weitere ähnliche Inhalte

Was ist angesagt?

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
 
Tema 8 entrada y salida por gio
Tema 8   entrada y salida por gioTema 8   entrada y salida por gio
Tema 8 entrada y salida por gio
Robert Wolf
 
Herramientas para-el-analisis-de-flujo-de-datos
Herramientas para-el-analisis-de-flujo-de-datosHerramientas para-el-analisis-de-flujo-de-datos
Herramientas para-el-analisis-de-flujo-de-datos
Danitortas
 
Automatas y compiladores clase1
Automatas y compiladores clase1Automatas y compiladores clase1
Automatas y compiladores clase1
Germania Rodriguez
 
ENTRADA Y SALIDA DE DATOS
ENTRADA Y SALIDA DE DATOSENTRADA Y SALIDA DE DATOS
ENTRADA Y SALIDA DE DATOS
nena_macc
 

Was ist angesagt? (20)

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
 
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
 
Automatas y compiladores analisis sintactico
Automatas y compiladores analisis sintacticoAutomatas y compiladores analisis sintactico
Automatas y compiladores analisis sintactico
 
Java
JavaJava
Java
 
Material adicional c sharp
Material adicional c sharpMaterial adicional c sharp
Material adicional c sharp
 
Java
JavaJava
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)
 
Compiladores clase02
Compiladores clase02Compiladores clase02
Compiladores clase02
 
Tema 8 entrada y salida por gio
Tema 8   entrada y salida por gioTema 8   entrada y salida por gio
Tema 8 entrada y salida por gio
 
Unidad1 2 Lenguajes y automatas
Unidad1 2  Lenguajes y automatasUnidad1 2  Lenguajes y automatas
Unidad1 2 Lenguajes y automatas
 
Java stream
Java streamJava stream
Java stream
 
Download.php
Download.phpDownload.php
Download.php
 
Analizador Sintactico
Analizador SintacticoAnalizador Sintactico
Analizador Sintactico
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador Sintáctico
 
Java
JavaJava
Java
 
PREGUNTAS
PREGUNTAS PREGUNTAS
PREGUNTAS
 
Herramientas para-el-analisis-de-flujo-de-datos
Herramientas para-el-analisis-de-flujo-de-datosHerramientas para-el-analisis-de-flujo-de-datos
Herramientas para-el-analisis-de-flujo-de-datos
 
Taller Flex Bison
Taller Flex BisonTaller Flex Bison
Taller Flex Bison
 
Automatas y compiladores clase1
Automatas y compiladores clase1Automatas y compiladores clase1
Automatas y compiladores clase1
 
ENTRADA Y SALIDA DE DATOS
ENTRADA Y SALIDA DE DATOSENTRADA Y SALIDA DE DATOS
ENTRADA Y SALIDA DE DATOS
 

Ähnlich wie 13-Unidad 4: Manejo de archivos y seguimiento del proyecto

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
 
Unidad iv almacenamiento de datos
Unidad iv   almacenamiento de datosUnidad iv   almacenamiento de datos
Unidad iv almacenamiento de datos
Whaleejaa Wha
 
Unidad iv almacenamiento de datos
Unidad iv   almacenamiento de datosUnidad iv   almacenamiento de datos
Unidad iv almacenamiento de datos
Whaleejaa Wha
 

Ähnlich wie 13-Unidad 4: Manejo de archivos y seguimiento del proyecto (20)

Serializacion
SerializacionSerializacion
Serializacion
 
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
 
Curso Java Inicial 8 Conceptos Avanzados I O
Curso Java Inicial   8 Conceptos Avanzados   I OCurso Java Inicial   8 Conceptos Avanzados   I O
Curso Java Inicial 8 Conceptos Avanzados I O
 
Cap10 ficheros
Cap10 ficherosCap10 ficheros
Cap10 ficheros
 
Java io
Java ioJava io
Java io
 
Presentacion metodos de lectura
Presentacion metodos de lecturaPresentacion metodos de lectura
Presentacion metodos de lectura
 
Flujos y archivos
Flujos y archivosFlujos y archivos
Flujos y archivos
 
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
 
Preguntasss
PreguntasssPreguntasss
Preguntasss
 
Java - No numérica - II
Java - No numérica - IIJava - No numérica - II
Java - No numérica - II
 
JAVA.PPT
JAVA.PPTJAVA.PPT
JAVA.PPT
 
JAVA (1).PPT
JAVA (1).PPTJAVA (1).PPT
JAVA (1).PPT
 
JAVA (1).PPT
JAVA (1).PPTJAVA (1).PPT
JAVA (1).PPT
 
2-Archivos.ppt
2-Archivos.ppt2-Archivos.ppt
2-Archivos.ppt
 
TUTORIAL JAVA
TUTORIAL JAVATUTORIAL JAVA
TUTORIAL JAVA
 
Unidad iv almacenamiento de datos
Unidad iv   almacenamiento de datosUnidad iv   almacenamiento de datos
Unidad iv almacenamiento de datos
 
Unidad iv almacenamiento de datos
Unidad iv   almacenamiento de datosUnidad iv   almacenamiento de datos
Unidad iv almacenamiento de datos
 
Preguntas del examen
Preguntas del  examenPreguntas del  examen
Preguntas del examen
 
Preguntas de-examen
Preguntas de-examenPreguntas de-examen
Preguntas de-examen
 
Archivos
ArchivosArchivos
Archivos
 

Mehr von Luis Fernando Aguas Bucheli (20)

EFC-ISW-Luis Fernando Aguas.pptx
EFC-ISW-Luis Fernando Aguas.pptxEFC-ISW-Luis Fernando Aguas.pptx
EFC-ISW-Luis Fernando Aguas.pptx
 
P-S2.pptx
P-S2.pptxP-S2.pptx
P-S2.pptx
 
EBTS-S1.pptx
EBTS-S1.pptxEBTS-S1.pptx
EBTS-S1.pptx
 
P-S3.pptx
P-S3.pptxP-S3.pptx
P-S3.pptx
 
EBTS-S4.pptx
EBTS-S4.pptxEBTS-S4.pptx
EBTS-S4.pptx
 
P-S4.pptx
P-S4.pptxP-S4.pptx
P-S4.pptx
 
P-S1.pptx
P-S1.pptxP-S1.pptx
P-S1.pptx
 
EBTS-S3.pptx
EBTS-S3.pptxEBTS-S3.pptx
EBTS-S3.pptx
 
EBTS-S2.pptx
EBTS-S2.pptxEBTS-S2.pptx
EBTS-S2.pptx
 
PDIDTI-S7.pptx
PDIDTI-S7.pptxPDIDTI-S7.pptx
PDIDTI-S7.pptx
 
PDIDTI-S4.pptx
PDIDTI-S4.pptxPDIDTI-S4.pptx
PDIDTI-S4.pptx
 
PDIDTI-S2.pptx
PDIDTI-S2.pptxPDIDTI-S2.pptx
PDIDTI-S2.pptx
 
PDIDTI-S1.pptx
PDIDTI-S1.pptxPDIDTI-S1.pptx
PDIDTI-S1.pptx
 
PDIDTI-S8.pptx
PDIDTI-S8.pptxPDIDTI-S8.pptx
PDIDTI-S8.pptx
 
PDIDTI-S6.pptx
PDIDTI-S6.pptxPDIDTI-S6.pptx
PDIDTI-S6.pptx
 
PDIDTI-S5.pptx
PDIDTI-S5.pptxPDIDTI-S5.pptx
PDIDTI-S5.pptx
 
PDIDTI-S3.pptx
PDIDTI-S3.pptxPDIDTI-S3.pptx
PDIDTI-S3.pptx
 
TIC-S4.pptx
TIC-S4.pptxTIC-S4.pptx
TIC-S4.pptx
 
TIC-S3.pptx
TIC-S3.pptxTIC-S3.pptx
TIC-S3.pptx
 
TIC-S2.pptx
TIC-S2.pptxTIC-S2.pptx
TIC-S2.pptx
 

Kürzlich hochgeladen

ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
gustavoiashalom
 

Kürzlich hochgeladen (20)

Matrices Matemáticos universitario pptx
Matrices  Matemáticos universitario pptxMatrices  Matemáticos universitario pptx
Matrices Matemáticos universitario pptx
 
ingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptx
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
 
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdfCONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
 
Sistemas de Ecuaciones no lineales-1.pptx
Sistemas de Ecuaciones no lineales-1.pptxSistemas de Ecuaciones no lineales-1.pptx
Sistemas de Ecuaciones no lineales-1.pptx
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalación
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 
Presentación Instrumentos de Medicion Electricos.pptx
Presentación Instrumentos de Medicion Electricos.pptxPresentación Instrumentos de Medicion Electricos.pptx
Presentación Instrumentos de Medicion Electricos.pptx
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 
Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo process
 
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdf
 
DISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdf
DISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdfDISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdf
DISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdf
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
 

13-Unidad 4: Manejo de archivos y seguimiento del proyecto

  • 1. Unidad 4: Manejo de archivos y seguimiento del proyecto Autor(es): Ciencias de la Ingeniería Carrera de Sistemas Programación Orientada a Objetos Mg. Luis Fernando Aguas Bucheli +593 984015184 @Aguaszoft Laguas@uisrael.edu.ec Aguaszoft@Outlook.es
  • 2. “Ser grande en las cosas pequeñas, ser noble y heroica en los detalles insípidos de la vida cotidiana, es una virtud tan rara como ser digna de canonización.” (Anónimo) Ciencias de la Ingeniería Carrera de Sistemas de Información Programación Orientada a Objetos
  • 3. Resultado de Aprendizaje • Analizar metodologías y herramientas tecnológicas, que mejor se ajusten a las necesidades de las organizaciones.
  • 4. Contenidos • Introducción • Objetivos • Desarrollo de Contenidos • Conclusiones • Bibliografía
  • 5. Objetivos • Adquirir los conceptos básicos relacionados con el manejo de archivos • Reconocer las características del manejo de archivos
  • 7. Flujo • Es una secuencia de bytes (carácteres) que se mueve desde una fuente hacia un destino a través de una trayectoria de comunicación Fuente Destino
  • 8. Fuente ProgramaLectura Programa Escritura Destino Flujo Operación normal de flujos • La fuente/destino puede ser memoria, un archivo, un socket, etc.
  • 9. Lectura/Escritura de flujos Abrir flujo Cerrar flujo Leer mientras exista información Abrir flujo Cerrar flujo Escrbir mientras exista información
  • 10. Ejemplo import java.io.*; public class LeeArchivo1 { public static void main(String[] args) throws IOException { FileInputStream leeArchivo = new FileInputStream(args[0]); int caracter; while ((caracter = leeArchivo.read()) != -1) System.out.print((char) caracter); leeArchivo.close(); } }
  • 11. Ejemplo import java.io.*; public class LeeArchivo1 { public static void main(String[] args) throws IOException { FileInputStream leeArchivo = new FileInputStream(args[0]); int caracter; while ((caracter = leeArchivo.read()) != -1) System.out.print((char) caracter); leeArchivo.close(); } } leeArchivo.read() A3 5C 23 DD 4A 2D 21 8F BC A3 34 65 B2 CC
  • 12. Jerarquía de flujos • La mayoría de las clases de flujos se derivan de InputStream y OutputStream • Esto permite utilizar clases que son más adecuadas a una tarea particular, como en el ejemplo anterior, en lugar de utilizar un flujo genérico y nosotros adecuarlo por programación • InputStream y OutputStream nos dan algunos métodos genéricos para lectura y escritura de bytes. Las subclases nos dan los métodos particulares que son más apropiados dependiendo de la fuente o destino
  • 16. read() • public int read() throws IOException o Lee un byte del flujo de entrada y lo regresa o Regresa -1 si se alcanza el final del flujo o Se bloquea (espera) hasta que existan datos disponibles o Arroja la excepción IOException si ocurre un error durante la lectura o Normalmente reprogramado por las subclases
  • 17. read(byte[]) • public int read(byte[] b) throws IOException o Lee una secuencia de bytes del flujo de entrada y los pone en el arreglo especificado o Regresa la cantidad de bytes leidos o Regresa -1 si es que se alcanzó el final del flujo de entrada o Se bloquea hasta que existan datos disponibles o Arroja la excepción IOException si ocurre un error durante la lectura
  • 18. read(byte[],int,int) • public int read(byte[] b,int des,int lon) throws IOException o Lee una secuencia de lon bytes y los pone en el arreglo b a partir del índice des o Regresa el número de bytes leidos o Regresa -1 si es que se alcanzó el final del flujo de entrada o Se bloquea hasta que encuentre datos disponibles o Arroja la excepción IOException si ocurre un error durante la lectura
  • 19. skip(long) • public long skip(long n) throws IOException o Se brinca (y descarta) un número de bytes especificado por n o Regresa el número de bytes que realmente se descartaron o Regresa -1 si se alcanzó el final del flujo de entrada o Arroja la excepción IOException si ocurre un error durante el salto
  • 20. available() • public int available() throws IOException o Regresa el número de bytes que se pueden leer del flujo de entrada sin que la operación de lectura bloquee la secuencia del programa o Se utiliza para "ver", sin leer, cuantos datos hay disponibles o En algunos sistemas el resultado arrojado no es confiable o Arroja la excepción IOException si ocurre un error durante la operación
  • 21. close() • public void close() throws IOException o Cierra el flujo de entrada y libera todos los recursos asociados (asignados por el sistema operativo) con el flujo o Siempre es conveniente cerrar los flujos para asegurarse que el procesamiento del flujo por parte del sistema termine correctamente o Arroja la excepción IOException si ocurre un error durante la operación
  • 22. mark(int) • public synchronized void mark(int readlimit) o Marca la posición actual en el flujo de entrada, para posteriormente regresar a ella en caso necesario o Regresa el número de bytes que se pueden leer después de la marca antes de que la marca sea invalidada por la capacidad del buffer o boolean markSupported() indica si el flujo de entrada permite marcas o void reset() reposiciona al flujo en la última posición marcada
  • 24. write(...) • public void write(int b) throws IOException o Escribe un byte al flujo de salida • public void write(byte[] b) throws IOException o Escribe una secuencia de bytes al flujo de salida • public void write(byte [] b,int des,int lon) throws IOException o Escribe lon bytes del arreglo b a partir de des • Se bloquean hasta que el o los datos sean escritos • Arrojan IOException en caso de error durante la escritura
  • 25. flush() • public void flush() throws IOException o Ocasiona que todo dato que esté en el buffer sea escrito inmediatamente al flujo de salida o Se tiene que reprogramar en las subclases porque en OutputStream no hace nada • public void close() throws IOException o Cierra el flujo de salida y libera los recursos asociados por el sistema close()
  • 26. Referencias Bibliográficas • LEOBARDO, L. (2006). METODOLOGÍA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS, México, Alfaomega. • LOPEZ, J., ALBERCA G. (2009): GUÍA DE FUNDAMENTOS DE LA PROGRAMACIÓN, Loja – Ecuador, UTPL
  • 27. Gracias Mg. Luis Fernando Aguas Bucheli +593 984015184 @Aguaszoft Laguas@uisrael.edu.ec Aguaszoft@Outlook.es