PROGRAMACION ORIENTADA 
A OBJETOS. 
: Flujos y Archivos.
INTRODUCCION: 
 El almacenamiento de datos en variables y arreglos es 
temporal; los datos se pierden cuando una variable local 
queda fuera de alcance, o cuando el programa termina. 
Las computadoras utilizan archivos para la retención a 
largo plazo de grandes cantidades de datos, incluso 
hasta después de que terminan los programas que crean 
esos datos.
 Nos referimos a los datos que se mantienen en archivos 
como datos persistentes, ya que existen más allá de la 
duración de la ejecución del programa. Las 
computadoras almacenan archivos en dispositivos de 
almacenamiento secundario como discos duros, discos 
ópticos y cintas magnéticas. 
 Java puede Crear, Actualizar y Procesar Archivos.
 El procesamiento de archivos es una de las herramientas 
más importantes para los programas que generalmente 
procesan cantidades masivas de datos persistentes. El 
procesamiento de archivos es un subconjunto de las 
herramientas para procesar flujos de Java, las cuales 
permiten a un programa leer y escribir datos en memoria, 
en archivos y a través de conexiones de red.
FLUJOS Y ARCHIVOS 
 El término “flujo” se refiere a los datos ordenados que se 
leen de (o se escriben en) un archivo. 
 En java la entrada de los datos se realiza mediante un 
flujo de entrada. La salida de datos realiza mediante un 
flujo de salida. 
Existen dos tipos de Flujos: 
-Los que trabajan con Bytes (Binarios) 
-Los que trabajan con Caracteres (Texto)
Flujos con Bytes Flujos con caracteres 
ENTRADA DE DATOS 
InputStream 
ByteArrayInputStream 
FileInputStream 
FilterInputStream 
BufferedInputStream 
DataInputStream 
PushbackInputStream 
ObjectInputStream 
PidedInputStream 
SequenceInputStream 
StringBufferInputStream 
Reader 
BufferedReader 
LineNumberReader 
CharArrayReader 
FilterReader 
PushbackReader 
InputStreamReader 
FileReader 
PidedReader 
StringReader 
SALIDA DE DATOS 
OutputStream 
ByteArrayOutputStream 
FileOutputStream 
FilterOutputStream 
BufferedOutputStream 
DataOutputStream 
PrintStream 
ObjectOutputStream 
PipedOutputStream 
Writer 
BufferedWriter 
CharArrayWriter 
FilterWriter 
OutputStreamWriter 
FileWriter 
PidedWriter 
PrintWriter 
StringWriter
Un programa usa un flujo de entrada para leer datos desde 
una fuente, o artículo a la vez: 
Leyendo informacion hacia un programa.
Un programa usa un flujo de salida para escribir datos a su 
destino, o artículo a la vez: 
Escribiendo Informacion desde un programa.
 Para obtener información acerca de un archivo o directorio es mediante el uso 
de la clase File 
File VarRef = new File(nombreArchivo); 
 Una vez creado el apuntador, se necesita generar el flujo de datos desde un 
archivo, es decir, crear un objeto de tipo FileInputStream, que recibe como 
parámetro el objeto de tipo File. 
FileInputStream fis = new FileInputStream(f); 
 Con esto, ya se puede crear el InputStreamReader, que permitirá leer los 
datos que se tengan en un archivo; y el BuferedReader que hará la lectura 
de los mismos. 
InputStreamReader isr = new InputStreamReader(fis); 
BufferedReader br = new BufferedReader(isr); 
 Ya con estas cuatro líneas se puede hacer la lectura de un archivo.
 La organización de un archivo define la forma en que se disponen 
sobre el soporte de almacenamiento, de ahí que los tipos de 
organizaciones sean. 
1. Organización Secuencial. 
2. Organización Directa o aleatoria. 
Operaciones Sobre Archivos 
Las operaciones más usadas durante un proceso de archivos son: 
 a) Consulta. Consiste en la recuperación del contenido de un 
registro. 
b) Modificación. Alteración de la información contenida en el 
registro. 
c) Inserción. Agregar un nuevo registro al archivo. 
d) Borrado. Supresión de un registro en el archivo.
TIPOS DE ARCHIVOS 
 Los archivos de texto son aquellos archivos que sólo almacenan datos 
de tipos carácter o cadenas de caracteres. Son utilizados para: 
– Información del tipo registro. 
– Guardar información que no necesita de un formato específico. 
– Guardar información de cualquier otro tipo en estos archivos no es una 
solución óptima. 
Los archivos de texto en Java se manejan mediante la clase 
BufferedReader y la clase PrintWriter. 
 Los archivos binarios permiten guardar un objeto directamente en un 
archivo sin tener que representarlo con texto.Utilizar archivos binarios, 
permite utilizar más fácilmente el paradigma de programación orientado a 
objetos.
ACCESOS 
 Según características del soporte empleado y el modo en 
que sean organizados los registros(Archivos) se 
consideran dos tipos de acceso. 
a) Acceso secuencial 
b) Acceso Directo o Aleatorio
 Acceso secuencial: Es el método más lento y consiste 
en recorrer los componentes de un archivo uno en uno 
hasta llegar al registro deseado. Se necesita que el orden 
lógico de los registros sea igual al orden físico en el 
medio de almacenamiento. Este tipo de acceso se usa 
comúnmente en cintas y cartuchos. 
 Acceso directo: Permite acceder a cualquier sector o 
registro inmediatamente, por medio de llamadas al 
sistema. Este tipo de acceso es rápido y se usa 
comúnmente en discos duros y discos o archivos 
manejados en memoria de acceso aleatorio.
 Generalmente, varios campos forman un Registro (que se 
implementa como class en Java). Por ejemplo, en un sistema 
de nóminas el registro para un empleado podría estar 
compuesto de los siguientes campos (los posibles tipos para 
estos campos se muestran entre paréntesis): 
 Número de identificación del empleado (int). 
 Nombre (String). 
 Dirección (String). 
 Sueldo por hora (double). 
 Número de exepciones reclamadas (int). 
 Ingresos desde inicio de año a la fecha (int o double). 
 Monto de impuestos retenidos (int o double).
 Por lo tanto, un registro es un grupo de campos 
relacionados. En el ejemplo anterior, cada uno de los 
campos pertenece al mismo empleado. Desde luego que 
una compañía específica podría tener muchos 
empleados y, por ende, tendría un registro de nómina 
para cada empleado. Un archivo es un grupo de 
registros relacionados.

Flujos y archivo en java

  • 1.
    PROGRAMACION ORIENTADA AOBJETOS. : Flujos y Archivos.
  • 2.
    INTRODUCCION:  Elalmacenamiento de datos en variables y arreglos es temporal; los datos se pierden cuando una variable local queda fuera de alcance, o cuando el programa termina. Las computadoras utilizan archivos para la retención a largo plazo de grandes cantidades de datos, incluso hasta después de que terminan los programas que crean esos datos.
  • 3.
     Nos referimosa los datos que se mantienen en archivos como datos persistentes, ya que existen más allá de la duración de la ejecución del programa. Las computadoras almacenan archivos en dispositivos de almacenamiento secundario como discos duros, discos ópticos y cintas magnéticas.  Java puede Crear, Actualizar y Procesar Archivos.
  • 4.
     El procesamientode archivos es una de las herramientas más importantes para los programas que generalmente procesan cantidades masivas de datos persistentes. El procesamiento de archivos es un subconjunto de las herramientas para procesar flujos de Java, las cuales permiten a un programa leer y escribir datos en memoria, en archivos y a través de conexiones de red.
  • 5.
    FLUJOS Y ARCHIVOS  El término “flujo” se refiere a los datos ordenados que se leen de (o se escriben en) un archivo.  En java la entrada de los datos se realiza mediante un flujo de entrada. La salida de datos realiza mediante un flujo de salida. Existen dos tipos de Flujos: -Los que trabajan con Bytes (Binarios) -Los que trabajan con Caracteres (Texto)
  • 6.
    Flujos con BytesFlujos con caracteres ENTRADA DE DATOS InputStream ByteArrayInputStream FileInputStream FilterInputStream BufferedInputStream DataInputStream PushbackInputStream ObjectInputStream PidedInputStream SequenceInputStream StringBufferInputStream Reader BufferedReader LineNumberReader CharArrayReader FilterReader PushbackReader InputStreamReader FileReader PidedReader StringReader SALIDA DE DATOS OutputStream ByteArrayOutputStream FileOutputStream FilterOutputStream BufferedOutputStream DataOutputStream PrintStream ObjectOutputStream PipedOutputStream Writer BufferedWriter CharArrayWriter FilterWriter OutputStreamWriter FileWriter PidedWriter PrintWriter StringWriter
  • 7.
    Un programa usaun flujo de entrada para leer datos desde una fuente, o artículo a la vez: Leyendo informacion hacia un programa.
  • 8.
    Un programa usaun flujo de salida para escribir datos a su destino, o artículo a la vez: Escribiendo Informacion desde un programa.
  • 9.
     Para obtenerinformación acerca de un archivo o directorio es mediante el uso de la clase File File VarRef = new File(nombreArchivo);  Una vez creado el apuntador, se necesita generar el flujo de datos desde un archivo, es decir, crear un objeto de tipo FileInputStream, que recibe como parámetro el objeto de tipo File. FileInputStream fis = new FileInputStream(f);  Con esto, ya se puede crear el InputStreamReader, que permitirá leer los datos que se tengan en un archivo; y el BuferedReader que hará la lectura de los mismos. InputStreamReader isr = new InputStreamReader(fis); BufferedReader br = new BufferedReader(isr);  Ya con estas cuatro líneas se puede hacer la lectura de un archivo.
  • 10.
     La organizaciónde un archivo define la forma en que se disponen sobre el soporte de almacenamiento, de ahí que los tipos de organizaciones sean. 1. Organización Secuencial. 2. Organización Directa o aleatoria. Operaciones Sobre Archivos Las operaciones más usadas durante un proceso de archivos son:  a) Consulta. Consiste en la recuperación del contenido de un registro. b) Modificación. Alteración de la información contenida en el registro. c) Inserción. Agregar un nuevo registro al archivo. d) Borrado. Supresión de un registro en el archivo.
  • 11.
    TIPOS DE ARCHIVOS  Los archivos de texto son aquellos archivos que sólo almacenan datos de tipos carácter o cadenas de caracteres. Son utilizados para: – Información del tipo registro. – Guardar información que no necesita de un formato específico. – Guardar información de cualquier otro tipo en estos archivos no es una solución óptima. Los archivos de texto en Java se manejan mediante la clase BufferedReader y la clase PrintWriter.  Los archivos binarios permiten guardar un objeto directamente en un archivo sin tener que representarlo con texto.Utilizar archivos binarios, permite utilizar más fácilmente el paradigma de programación orientado a objetos.
  • 12.
    ACCESOS  Segúncaracterísticas del soporte empleado y el modo en que sean organizados los registros(Archivos) se consideran dos tipos de acceso. a) Acceso secuencial b) Acceso Directo o Aleatorio
  • 13.
     Acceso secuencial:Es el método más lento y consiste en recorrer los componentes de un archivo uno en uno hasta llegar al registro deseado. Se necesita que el orden lógico de los registros sea igual al orden físico en el medio de almacenamiento. Este tipo de acceso se usa comúnmente en cintas y cartuchos.  Acceso directo: Permite acceder a cualquier sector o registro inmediatamente, por medio de llamadas al sistema. Este tipo de acceso es rápido y se usa comúnmente en discos duros y discos o archivos manejados en memoria de acceso aleatorio.
  • 14.
     Generalmente, varioscampos forman un Registro (que se implementa como class en Java). Por ejemplo, en un sistema de nóminas el registro para un empleado podría estar compuesto de los siguientes campos (los posibles tipos para estos campos se muestran entre paréntesis):  Número de identificación del empleado (int).  Nombre (String).  Dirección (String).  Sueldo por hora (double).  Número de exepciones reclamadas (int).  Ingresos desde inicio de año a la fecha (int o double).  Monto de impuestos retenidos (int o double).
  • 15.
     Por lotanto, un registro es un grupo de campos relacionados. En el ejemplo anterior, cada uno de los campos pertenece al mismo empleado. Desde luego que una compañía específica podría tener muchos empleados y, por ende, tendría un registro de nómina para cada empleado. Un archivo es un grupo de registros relacionados.