Manejo De Archivos

Páginas: 7 (1646 palabras) Publicado: 7 de agosto de 2012
El manejo de archivos es un tema importante en manejar en la programación, para esto primero definiremos lo que es un archivo, algunas clases lectoras que Java utiliza como herramienta, entre otros.
* Definición
 
Un archivo es una secuencia de bytes que se guarda en disco y que puede actuar como origen o como destino de un flujo. Los bytes no tienen ningún formato ni tamaño de registro. Elprogramador es el encargado de ordenar y darle sentido a esa secuencia.
La librería de entrada y salida de Java (java.io) divide las clases que manejan los flujos en dos grandes categorías: las clases lectoras que se ocupan de los flujos de entrada y las clases escritoras que se ocupan de los flujos de salida
 
* Principales clases lectoras
 
La clase FileInputStream es una claseespecífica que obtiene bytes de un archivo. En su constructor recibe como argumento el nombre físico de un archivo y crear un flujo de bytes.
Define el método read que puede lee una secuencia de bytes y lo guarda en un arreglo de bytes.
El siguiente segmento de código ilustra la forma en que se puede leer un archivo en bloques de 1000 bytes.
 
byte buffer[] = new byte[1000];
FileInputStream fd_in =new FileInputStream (“archivo.dat”);
while (fd_in.read (buffer) != -1) {

}
fd_in.close ();
 
La clase InputStreamReader es una clase general que convierte un flujo de bytes en un flujo de caracteres. Define el método read que puede leer un carácter o un arreglo de caracteres.
 
La clase BufferedReader recibe un flujo de caracteres e implementa un buffer para poder leer líneas de texto.Define el método readLine para leer una línea de texto. Esta clase se utiliza si sabemos que el archivo es de texto y está escrito en líneas separadas por retornos de carro.
Para el manejo de archivos hay dos formas para construir un objeto de tipo BufferedReader.
Una es utilizar un objeto InputStreamReader creado sobre un objeto de tipo FileInputStream:
 
BufferedReader fd_in = newBufferedReader (
new InputStreamReader (
new FileInputStream (“archivo.dat”)));
 
La otra forma es aceptar el tamaño del buffer y la codificación predefinidos, lo cuál muchas veces es lo más conveniente, y para estos casos se puede usar la clase FileReader que como argumento en el constructor se le pasa el nombre del archivo.
 
BufferedReader fd_in = new BufferedReader (
new FileReader (“archivo.dat”)); 
En Java no hay una instrucción directa para leer datos del teclado. El teclado se considera como origen de un flujo de datos, está asociado con la variable System.in de tipo InputStreamReader y se trata de la misma manera que cualquier flujo.
 
La clase DataInputStream permite leer tipos primitivos (enteros, reales, booleanos) de forma portable. Define métodos como readInt para leer unentero, readFloat para leer un real, readBoolean para leer un booleano, etc.
 
* Principales clases escritoras
 
La clase FileOutputStream es una clase específica que escribe una secuencia de bytes a un archivo en disco. Define el método write que recibe como argumento un arreglo de bytes. Esta clase se utiliza si estamos tratando a un archivo como una secuencia de bytes.
Para abrir un archivopara escritura hay que crear un objeto de tipo FileOutputStream pasando como argumento al constructor el nombre del archivo.
FileOutputStream fd_out = new FileOutputStream (“archivo.dat”);
 
La clase OutputStreamWriter es una clase general que convierte un flujo de caracteres en un flujo de bytes. Define el método write para escribir a la salida un carácter o un arreglo de caracteres. Estaclase se utiliza si sabemos que el flujo de salida es de caracteres de texto. Como la clase es general y acepta cualquier flujo de bytes de salida (no solo con destino en un archivo de disco) hay que pasarle como argumento en el constructor la clase específica ligada al destino de los datos y que en este caso es FileOutputStream. Los caracteres que recibe la clase se convierten a bytes de acuerdo...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Manejo de archivo
  • manejo de archivos
  • Manejo Archivo De Lenguaje C
  • Manejo De Archivos En Linux
  • Manejadores De Archivos y Bases De Datos.
  • Manejo de sistema de archivos
  • manejo de archivos en java
  • Manejo De Archivos Y Directorios

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS