Sunteți pe pagina 1din 8

MANEJO DE ARCHIVOS EN JAVA

El manejo de archivos, nos permite interactuar con los dispositivos de almacenamiento externo
para poder mantener la informacin en el tiempo. Java no es una excepcin.
Cuando se desarrollan applets para utilizar en red, hay que tener en cuenta que la
entrada/salida directa a fichero es una violacin de seguridad de acceso.
Muchos usuarios configurarn sus navegadores para permitir el acceso al sistema de ficheros,
pero otros no. Por otro lado, si se est desarrollando una aplicacin Java para uso interno,
probablemente ser necesario el acceso directo a ficheros.
FICHEROS:
Para realizar operaciones sobre los ficheros, necesitamos contar con la informacin referente
sobre un fichero (archivo). La clase File proporciona muchas utilidades relacionadas con
ficheros y con la obtencin de informacin bsica sobre esos ficheros.

CREACIN DE UN OBJETO FILE:


Para crear un objeto File nuevo, se puede utilizar cualquiera de los tres constructores
siguientes:

El constructor utilizado depende a menudo de otros objetos File necesarios para el


acceso. Si slo se utiliza un fichero en la aplicacin, el primer constructor es el mejor. Si
se utilizan muchos ficheros desde un mismo directorio, el segundo o tercer constructor
sern ms cmodos. Y si el directorio o el fichero es una variable, el segundo
constructor ser el ms til.

Comprobaciones y Utilidades:
Una vez que se haya creado un objeto de la clase File, se puede utilizar uno de los
siguientes mtodos para obtener informacin sobre el fichero:

Esta es una aplicacin que muestra informacin sobre los ficheros pasados como argumentos
en la lnea de comandos:

STREAMS DE ENTRADA

Objetos FileInputStream
La clase FileInputStream tpicamente representan ficheros de texto accedidos en orden
secuencial, byte a byte. Con FileInputStream, se puede elegir acceder a un byte, varios
bytes o al fichero completo.

Apertura de un FileInputStream
Para abrir un FileInputStream sobre un fichero, se le da al constructor un String o
un objeto File: El ejemplo siguiente crea dos FileInputStreams que estn utilizando
el mismo archivo de disco real. Cualquiera de los dos constructores disponibles en
esta clase puede lanzar una FileNotFoundException.

Aunque probablemente el primer constructor es el que ms se utiliza habitualmente, el segundo


permite examinar el archivo ms de cerca utilizando sus mtodos antes de asignarlo a un flujo
de entrada. Cuando se crea un FileInputStream, tambin se abre para su lectura.
FileInputStream sobrescribe seis de los mtodos de la clase abstracta InputStream. Si se
intentan utilizar los mtodos mark o reset en un FileInputStream se generar una IOException.

Lectura de un FileInputStream
Una vez abierto el FileInputStream, se puede leer de l. El mtodo read() tiene muchas
opciones:

Lee un byte y devuelve -1 al final del stream.

Llena todo el array, si es posible. Devuelve el nmero de bytes ledos o -1 si se alcanz


el final del stream.

Lee longitud bytes en b comenzando por b[offset]. Devuelve el nmero de bytes ledos
o -1 si se alcanz el final del stream.

Cierre de FileInputStream
Cuando se termina con un fichero, existen dos opciones para cerrarlo: explcitamente, o
implcitamente cuando se recicla el objeto (el garbage collector se encarga de ello).
Para cerrarlo explcitamente, se utiliza el mtodo close():

Ejemplo: Visualizacin de un fichero


Si la configuracin de la seguridad de Java permite el acceso a ficheros, se puede ver el
contenido de un fichero en un objeto JTextArea. El cdigo siguiente contiene los elementos
necesarios para mostrar un fichero:

Objetos ObjectInputStream
Para hacer operaciones con el archivo binario serializado abierto se usa objetos de la clase
ObjectInputStream, en este caso se usa para leer archivo y se usa el mtodo readObject.
Ejemplo:

Apertura y cierre de DataInputStream


Para abrir y cerrar un objeto DataInputStream, se utilizan los mismos mtodos que para
FileInputStream:

Streams de entrada de URLs


Adems del acceso a ficheros, Java proporciona la posibilidad de acceder a URLs como una
forma de acceder a objetos a travs de la red. Se utiliza implcitamente un objeto URL al
acceder a sonidos e imgenes, con el mtodo getDocumentBase() en los applets:

No obstante, se puede proporcionar directamente un URL, si se quiere:

Apertura de un Stream de entrada


Tambin se puede abrir un stream de entrada a partir de un URL. Por ejemplo, se puede utilizar
un fichero de datos para un applet:

Ahora se puede utilizar is para leer informacin de la misma forma que se hace con un objeto
FileInputStream:

STREAMS DE SALIDA
La contrapartida necesaria de la lectura de datos es la escritura de datos. Como con los
Streams de entrada, las clases de salida estn ordenadas jerrquicamente:
Objetos FileOutputStream
Los objetos FileOutputStream son tiles para la escritura de ficheros de texto. Como con los
ficheros de entrada, primero se necesita abrir el fichero para luego escribir en l.
Apertura de un FileOutputStream
Para abrir un objeto FileOutputStream, se tienen las mismas posibilidades que para abrir un
fichero stream de entrada. Se le da al constructor un String o un objeto File.

Como con los streams de entrada, tambin se puede utilizar:

Escritura en un FileOutputStream
Una vez abierto el fichero, se pueden escribir bytes de datos utilizando el mtodo write(). Como
con el mtodo read() de los streams de entrada, tenemos tres posibilidades:

Cierre de FileOutputStream
Cerrar un stream de salida es similar a cerrar streams de entrada. Se puede utilizar el mtodo
explcito:

Se puede dejar que el sistema cierre el fichero cuando se recicle miFicheroSt.


Ejemplo: Almacenamiento de Informacin
Este programa, pregunta al usuario una lista de nombres y nmeros de telfono. Cada nombre
y nmero se aade a un fichero situado en una localizacin fija. Para indicar que se ha
introducido toda la lista, el usuario especifica "Fin" ante la solicitud de entrada del nombre. Una
vez que el usuario ha terminado de teclear la lista, el programa crear un fichero de salida que
se mostrar en pantalla o se imprimir. Por ejemplo:

Objetos ObjectOutputStream
Los objetos de la clase ObjectOutputStream nos permite escribir en el archivo, ose proporciona
un flujo de comunicacin con los dispositivos de almacenamiento. Ejemplo:

Luego se escribe con el metodo writeObject(objeto), de la clase ObjectOutputStream.

Creacin de Streams de salida con buffer


Para crear un stream BufferedOutput, primero se necesita un stream FileOutput normal;
entonces se le aade un buffer al stream:

Volcado y Cierre de Streams de salida con buffer

Al contrario que los streams FileOutput, cada escritura al buffer no se corresponde con una
escritura en disco. A menos que se llene el buffer antes de que termine el programa, cuando se
quiera volcar el buffer explcitamente se debe hacer mediante una llamada a flush():

BIBLIOGRAFIA:
http://fisiwikipedia.wikispaces.com/file/view/Manejo+de+Archivos+en+Java.pdf/7900891
3

http://www.chuidiang.com/chuwiki/index.php?

title=Lectura_y_Escritura_de_Ficheros_en_Java

S-ar putea să vă placă și