jueves, 12 de marzo de 2009

Acceso directo a un fichero en Java

(Se debe importar java.io.RandomAccessFile)
try
{
    //La variable pos va a marcar desde donde se accede al fichero
    int pos = 10;
    //Los caracteres leídos se toman como entero
    int caract;
    //Se abre el fichero para lectura y escritura
    RandomAccessFile raf = new RandomAccessFile("directo.txt","rw");
    //Obtener el tamaño del fichero
    long tamaño = raf.length();

    //Posicionar el puntero del fichero en la posición indicada
    raf.seek(pos);
    //Bucle mientras no se alcance el final del fichero
    while(raf.getFilePointer()<tamaño)
    {
        //Leer un carácter y avanzar puntero al siguiente carácter
        caract = raf.read();
        //Mostrar en pantalla el carácter leído
        System.out.print((char)caract);
        //Retroceder una posición
        raf.seek(raf.getFilePointer()-1);
        //Escribir el carácter leído convertido a mayúsculas
        raf.write(Character.toUpperCase(caract));
    }
    //Para leer una línea entera se usa readLine
    //y usar writeBytes para escribir un String
    raf.writeBytes("Fin del fichero");
    //Cerrar el fichero
    raf.close();
}
catch(Exception e)
{
    System.out.println("Error de acceso al fichero");
}

1 comentario:

 

Contador de visitas