Archivos de Acceso Aleatorio
Archivos de Acceso Aleatorio
Archivos de Acceso Aleatorio
Qu son Archivos?
Los archivos tambin denominados ficheros (file); son una coleccin de informacin (datos
relacionados entre s), localizada o almacenada como una unidad en alguna parte de la
computadora.
Los archivos son el conjunto organizado de informaciones del mismo tipo, que pueden utilizarse
en un mismo tratamiento; como soporte material de estas informaciones
Archivos Aleatorios
Es aquel en donde los datos se guardan en registros mediante una estructura definida de tipo Type
(estructura definida por nosotros) tambin llamada UDT. Estos permiten acceder a cualquier parte
del fichero en cualquier momento, como si fueran arrays en memoria. Las operaciones de lectura
y/o escritura pueden hacerse en cualquier punto del archivo.
La siguiente funcin crea un fichero si no existe y escribe en l una cadena que recibe
como parmetro.
public static void EcribirFichero(File Ffichero,String SCadena){
try {
//Si no Existe el fichero lo crea
if(!Ffichero.exists()){
Ffichero.createNewFile();
}
/*Abre un Flujo de escritura,sobre el fichero con codificacion utf-8.
*Adems en el pedazo de sentencia "FileOutputStream(Ffichero,true)",
*true es por si existe el fichero seguir aadiendo texto y no borrar
lo que tenia*/
BufferedWriter Fescribe=new BufferedWriter(new OutputStreamWriter(new
FileOutputStream(Ffichero,true), "utf-8"));
/*Escribe en el fichero la cadena que recibe la funcin.
*el string "\r\n" significa salto de linea*/
Fescribe.write(SCadena + "\r\n");
//Cierra el flujo de escritura
Fescribe.close();
} catch (Exception ex) {
//Captura un posible error le imprime en pantalla
System.out.println(ex.getMessage());
}
}
Acceso a la Informacin
Los objetos RandomAccessFile esperan informacin de lectura/escritura de la misma manera que
los objetos DataInput/DataOutput. Se tiene acceso a todas las operaciones read() y write() de las
clases DataInputStream y DataOutputStream .
- long getFilePointer();
Devuelve la posicin actual del puntero del fichero
- long length();
Devuelve la longitud del fichero. La posicin length() marca el final de ese fichero.
Escritura de Informacin
Se pueden utilizar ficheros de acceso aleatorio para aadir informacin a ficheros existentes:
miRAFile = new RandomAccessFile( "/tmp/kk.log","rw" );
miRAFile.seek( miRAFile.length() );
Vamos a ver un pequeo ejemplo, Log.java , que aade una cadena a un fichero existente:
import java.io.*;
// Cada vez que ejecutemos este programita,
// que se ejecuta
//
class Log {
public static void main( String args[] ) throws IOException {
RandomAccessFile miRAFile;
String s = "Informacion a incorporarnTutorial de Javan";
// Abrimos el fichero de acceso aleatorio
miRAFile = new RandomAccessFile( "/tmp/java.log","rw" );
// Nos vamos al final del fichero
miRAFile.seek( miRAFile.length() );
// Incorporamos la cadena al fichero
miRAFile.writeBytes( s );
// Cerramos el fichero
miRAFile.close();
}
}
Linkcografia:
http://unefaarchivosaleatorios.blogspot.pe/
http://todoelmed.blogspot.pe/2012/05/manejo-de-archivos-o-ficheros-en.html
https://javaparajavatos.wordpress.com/2016/06/08/archivos-de-acceso-aleatorio/