Java - no elimina registro de tabla (TRABAJO CON ARCHIVOS DE TEXTO)

 
Vista:

no elimina registro de tabla (TRABAJO CON ARCHIVOS DE TEXTO)

Publicado por paul (1 intervención) el 27/11/2012 16:35:07
Buenas amigos, espero su ayuda:
Reuslta que deseo eliminar un registro de un jtable q se carga de un archivo txt;
pero al seleccionar el registro que quiero eliminar y le doy click en el boton eliminar solo elimina algunos otros no,y se me crea un archvo temporal aqui LES DEJO EL CODIGO:

public class PersonaDAO
{
//declaramos referencias a usar
ArrayList<PersonaBean> lista=null;
PersonaBean objPersonaBean=null;

//metodo que carga
public ArrayList<PersonaBean> cargarDatos()
{
String cadena,x[];
try
{
BufferedReader bf=new BufferedReader(new FileReader("persona.txt"));
lista=new ArrayList<PersonaBean>();
while ((cadena=bf.readLine())!=null)
{
x=cadena.split("-");//corta el registro cada vez q encuentra -x es arreglo
objPersonaBean=new PersonaBean(x[0],x[1],x[2]);//
lista.add(objPersonaBean);
}

} catch (Exception e)
{
}
return lista;
}
//METODO ELIMINAR
public int EliminarPersona(String registroeliminado)
{
int i=0;
try
{
//referenciar el archivo al cual se va eliminar
//se utiliza la clase file
File archivo=new File("persona.txt");//aqi ta archivo original
//capturamos ruta absoluta
File modeloarchivo=new File(archivo.getAbsolutePath()+".tmp");//creamos un modelo virtual o temporal
BufferedReader br=new BufferedReader(new FileReader("persona.txt"));

PrintWriter pw=new PrintWriter(new FileWriter(modeloarchivo));
String linea;
while ((linea=br.readLine())!=null)
{
if(!linea.trim().equals(registroeliminado))//encuentra esta linea
{
pw.println(linea);
pw.flush();//libera memoria
}
}
//destruir objetos
pw.close();
br.close();
if (!archivo.delete()) //negado q no se elimino
{
System.out.println("NO SE HA PODIDO ELIMINAR EL ARCHIVO");
}
if (!modeloarchivo.renameTo(archivo))
{
System.out.println("NO SE HA PODIDO CAMBIAR EL ARCHIVO");
}
i=1;

} catch (Exception e)
{
i=0;
}
return i;
}


}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

no elimina registro de tabla (TRABAJO CON ARCHIVOS DE TEXTO)

Publicado por Tom (1831 intervenciones) el 27/11/2012 20:28:30
Probablemente no cierras el fichero al terminar cargarDatos() (o en algún otro sitio)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar