Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Navegar en archivo de Texto

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();
}
}
}

diciembre 4, 2011 | Registered Commenternvdavilam

Te recomendaría utilizar java.io.RandomAccessFile, que te permite tanto navegar por el fichero (en ambas direcciones) como utilizar el método readLine().

diciembre 5, 2011 | Unregistered CommenterGarca

Tienes algun ejemplo?

diciembre 5, 2011 | Registered Commenternvdavilam

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.

diciembre 9, 2011 | Unregistered CommenterGarca