Te recomendaría utilizar java.io.RandomAccessFile, que te permite tanto navegar por el fichero (en ambas direcciones) como utilizar el método readLine().
Tienes algun ejemplo?
No tengo ejemplos, pero su utilización es bastante simple. Con el método seek(int) posicionas el cursor de lectura sobre el fichero y con los distintos métodos readXXX obtienen los datos. Para moverte al registro anterior puedes ir guardan la posición de cada registro al leerlo (obtenida con el método getFilePointer()) y mover el cursos a dicha posición cuando se solicite volver al registro anterior.
Saludos Amigos Tengo que leer un archivo de texto separado por ";", Bueno lo dificil es que no se como navegar en el archivo, tengo 4 botones Re Inicial Sig Registro Registro Ant. y Ultimo Registro
private void openFile(){
File archivo = null;
FileReader fr = null;
BufferedReader br = null;
String linea = null;
try {
//Cargo el archivo desde la ruta
archivo = new File("C:\\Alumnos.txt");
//Cargo el objeto FileReader
fr = new FileReader(archivo);
//Creo un buffer de lectura
br = new BufferedReader(fr);
String[] datos = null;
//Leo hasta que se termine el archivo
while ((linea = br.readLine()) != null) {
//Utilizo el separador para los datos
datos = linea.split(";");
//Presento los datos
jTextField1.setText(datos[0].toString());
jTextField2.setText(datos[1].toString());
jTextField3.setText(datos[2].toString());
jTextField4.setText(datos[3].toString());
}
//Capturo las posibles excepciones
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (fr != null) {
fr.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
}