[ Foro de Java ]

Leer datos de un fichero y almacenar en una lista

30-Apr-2019 20:04
Invitado (Rodrigo)
1 Respuestas

Buenas, estoy intentando realizar un ejercicio pero no logro sacarlo, la idea es leer los datos de un fichero en java y luego almacenarlo en una lista de objetos. El enunciado del ejercicio es el siguiente y el código que tengo yo hecho es el siguiente:

Realiza un programa que lea los datos del ejercicio 4. Para ello creará una lista de objetos de tipo Vehiculo. El programa irá almacenando en la lista los objetos leídos desde el archivo de texto “vehículos.txt”. Una vez cargados todos los datos en la lista, ordena los vehículos por Marca y muestra el resultado por consola.


public class Ejercicio7 {

public static void main(String[] args) {
String idFichero = "vehiculos.txt";

String linea;
ArrayList<Vehiculo>lista=new ArrayList<>();

System.out.println("Leyendo el fichero: " + idFichero);

try (Scanner datosFichero = new Scanner(new File(idFichero))) {

while (datosFichero.hasNextLine()) {

linea = datosFichero.nextLine();
lista.add(linea);
for (int i = 0; i < lista.size(); i++) {
System.out.println(lista.get(i));
}

}

} catch (FileNotFoundException e) {
System.out.println(e.getMessage());
}
}
}


Gracias de antemano


02-May-2019 00:20
Nacho Cabanes (+83)

Tu esqueleto se acerca bastante, pero tiene dos fallos:

- A nivel de lógica, no deberías mostrar los datos hasta que no has terminado de leer todos (el "for" no debería estar dentro del "while").

- A nivel de uso de recursos, no estás cerrando el fichero.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)