Foro del Curso DAM
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

metodo borrarUno tarea 6

2 participantes

Ir abajo

metodo borrarUno tarea 6 Empty metodo borrarUno tarea 6

Mensaje por fjrubios Miér Feb 11, 2015 7:56 pm

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

Volver arriba Ir abajo

metodo borrarUno tarea 6 Empty Re: metodo borrarUno tarea 6

Mensaje por Droigor Jue Feb 12, 2015 12:25 pm

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.

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

Volver arriba Ir abajo

metodo borrarUno tarea 6 Empty Re: metodo borrarUno tarea 6

Mensaje por fjrubios Jue Feb 12, 2015 8:38 pm

Gracias, claro k ayuda.

fjrubios

Mensajes : 6
Fecha de inscripción : 11/02/2015

Volver arriba Ir abajo

metodo borrarUno tarea 6 Empty Re: metodo borrarUno tarea 6

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.