Acceso directo a ficheros con Java

java3En este artículo aprenderemos a realizar una lectura de archivos de texto en Java mediante acceso directo en lugar del acceso secuencial estudiado en artículos anteriores. Para ello, vamos a utilizar la clase RandomAccessFile que nos permite acceder de esta forma a un fichero bien sea para realizar su lectura como para realizar su escritura.

El código que podemos ver a continuación nos muestra de forma simple como podemos acceder a un fichero almacenado en nuestro disco y leerlo desde una posición establecida previamente en lugar de leerlo desde el principio tal y como deberíamos hacer con acceso secuencial.

Podemos consultar el API de RandomAccessFile en el siguiente enlace.

import java.io.RandomAccessFile;

public class RAF {

public static void main(String[] args) {

  //La variable pos marca la posición donde se empieza a leer el fichero
  int pos = 13828;
  String linea;

  try{
   //Se abre el fichero en modo lectura
   RandomAccessFile raf = new RandomAccessFile("/home/aitor/quijote.txt","r");

   //Obtener el tamaño del fichero
   long tamano = raf.length();

   //Posicionar el puntero del fichero en la posición establecida previamente
   raf.seek(pos);

   //Mientras no se alcance el final del fichero...
   while(raf.getFilePointer()<tamano){  
    //Leer una línea y avanzar puntero a la siguiente
    linea = raf.readLine();

    //Mostrar en pantalla la linea leída
    System.out.print(linea+"\n");
   }
   //Cerrar el fichero
   raf.close();

  }catch(Exception e){
   System.out.println("Error de acceso al fichero"+e);
  }
 }
}
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: