metodo borrarUno tarea 6
2 participantes
Página 1 de 1.
metodo borrarUno tarea 6
Buenas necesito ayuda con el método borrar un cliente de la tarea, no sé por donde empezar este método ni como se pasar parte del fichero a otro fichero para luego renombrarlo, en fin que no lo pillo.
fjrubios- Mensajes : 6
Fecha de inscripción : 11/02/2015
Re: metodo borrarUno tarea 6
Yo la única manera en la que he sido capaz de hacerlo ha sido creando un archivo temporal donde voy guardando los clientes cuyo nif no coincide con el que quiero eliminar y el que quiero eliminar simplemente no lo grabo en el archivo temporal.
Cuando he acabado de leer todo el fichero de clientes, borro el original y renombro el temporal a clientes.dat
1.- Define las variables necesarias.
2.- Pide el nif a buscar, que es el que vamos a borrar.
A ver si ayuda algo.
Salu2.
Cuando he acabado de leer todo el fichero de clientes, borro el original y renombro el temporal a clientes.dat
1.- Define las variables necesarias.
2.- Pide el nif a buscar, que es el que vamos a borrar.
- Código:
try {
//Creamos un flujo de entrada desde disco.
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("clientes.dat"));
//Así mismo creamos un flujo de salida a disco.
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("temporal.dat"));
//////////////////////////////////////////////////////////////////////////
do {
//Leemos objetos del fichero.
try {
cliente = (Clientes) ois.readObject();
}
catch (Exception ex) {//Cuando no haya nada que leer.
comprueba = true;
}
if (comprueba!=true && (cliente.getNif().equalsIgnoreCase(nif))) {
System.out.println("Cliente borrado.");
}else{
oos.writeObject(cliente);
}
} while ((cliente != null)&&(comprueba == false));
//////////////////////////////////////////////////////////////////////////
//Cerramos los flujos abiertos.
ois.close();
oos.close();
//Borramos el fichero original.
clientes.delete();
//Y renombramos el fichero temporal con el nombre original.
temp.renameTo(clientes);
}
catch (FileNotFoundException ex) {
System.out.println("Fichero no encontrado en listarClientes()");
}
catch (IOException ex) {
System.out.println("Error de E/S en listarClientes()");
}
A ver si ayuda algo.
Salu2.
Droigor- Mensajes : 8
Fecha de inscripción : 10/02/2015
Re: metodo borrarUno tarea 6
Gracias, claro k ayuda.
fjrubios- Mensajes : 6
Fecha de inscripción : 11/02/2015
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.