Buenas, a ver si me consigo explicar bien.
Una parte de mi programa consiste en la escritura y lectura de ficheros.
Tengo este código para escribir en el fichero y funciona bien. Este código recorre un arraylist de objetos y los va escribiendo en el fichero.
Código Java:
Ver originalpublic static void guardarCamiones
(int numero_registro,
String marca,
String modelo,
String color_carroceria,
String fecha_fabricacion,
float kilometros,
float tara,
float carga_maxima,
int numero_ruedas,
float precio,
String observaciones
) throws IOException{ Camiones camion = new Camiones(numero_registro, marca, modelo, color_carroceria, fecha_fabricacion, kilometros, tara, carga_maxima, numero_ruedas, precio, observaciones);
camiones.add(camion);
File fichero
= new File("camiones.obj"); for (int i=0; i<camiones.size(); i++){
Camiones cam = camiones.get(i);
oos.writeObject(cam);
}
oos.close();
System.
out.
println("Se ha escrito en el fichero");
}
Por otra parte, tengo este código para leer los objetos del fichero y también me funciona.
Código Java:
Ver original try{
File fichero
= new File ("camiones.obj"); while(true){
Camiones camion = (Camiones) ois.readObject();
System.
out.
printf("%-20s%-15s%-15s%-15s%-15s%-15s%-15s%-15s%-15s%-15s%-15s\n",
"Numero registro",
"Marca",
"Modelo",
"Color",
"Fecha Fab.",
"Kilometros",
"Tara",
"Carga max.",
"Num. Ruedas",
"Precio",
"Observaciones"); System.
out.
printf("%-20s%-15s%-15s%-15s%-15s%-15s%-15s%-15s%-15s%-15s%-15s\n",
"===============",
"=====",
"======",
"=====",
"==========",
"==========",
"====",
"==========",
"===========",
"======",
"============="); System.
out.
printf("%-20s%-15s%-15s%-15s%-15s%-15s%-15s%-15s%-15s%-15s%-15s\n",camion.
getNumero_registro(),camion.
getMarca(),camion.
getModelo(),camion.
getColor_carroceria(),
camion.getFecha_fabricacion(),camion.getKilometros(),camion.getTara(),camion.getCarga_maxima(),camion.getNumero_ruedas(),
camion.getPrecio(),camion.getObservaciones());
System.
out.
println("-----------------"); }
//io.printStackTrace();
}finally{
ois.close();
}
}
La cosa es que necesito modificar el método de leer en el fichero de forma que por ejemplo si introduzco un numero de registro, me lea solo el objeto con ese numero de registro y me lo saque por pantalla.
He probado así y de más formas, pero sin éxito.
Código Java:
Ver original//El mismo metodo de leer pero con condición.
while(true){
Camiones camion = (Camiones) ois.readObject();
System.
out.
println("Introduce un codigo: "); int codigo = sc.nextInt();
if(codigo == camion.getNumero_registro()){
//Si se cumple, pinta los datos
¿Alguna ayuda?