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;
}
}
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


0