Galera to com um problemão, eu tenho um ficheiro com varios registos, então eu gostaria de eliminar alguns registos do ficheiro. Eu pensei no seguinte, pesquisar o registo que pretende ser eliminado de seguida ler linha por linha e depois substituir toda linha que desejo eliminar por *, so que não está funcionando não acontence nada, eis o codigo:
public void actionPerformed(ActionEvent evento)
{
if(evento.getSource()==elimclientes)
{
try
{
String opcpesquisa;
int opcpesquisaconv;
int codigoconv;
String nome;
String linha = null;
fw = new FileWriter("clientes.txt", true);
fr = new FileReader("clientes.txt");
br = new BufferedReader(fr);
opcpesquisa = JOptionPane.showInputDialog("Deseja eliminar por nome ou por numero da conta ? \n (1 - Por nome, 2 - Por numero da conta)");
opcpesquisaconv = Integer.parseInt(opcpesquisa);
switch(opcpesquisaconv)
{
case 1:
nome = JOptionPane.showInputDialog("Digite o nome do(a) cliente");
while((linha = br.readLine())!=null)
{
if(linha.matches(".*" + nome + ".*"))
{
String dados[] = linha.split(",");
JOptionPane.showMessageDialog(null,"Cliente: " +dados[1],"BPC",JOptionPane.ERROR_MESSAGE);
for(int i=0; i<=5; i++)
{
dados[i]="*";
fw.write(dados[i]);
}
}
}
break;
default:
JOptionPane.showMessageDialog(null,"Opção invalida","BPC",JOptionPane.ERROR_MESSAGE);
br.close();
fw.close();
}
}
catch (IOException e)
{
JOptionPane.showMessageDialog(null,"Erro ao abrir o ficheiro","BPC",JOptionPane.ERROR_MESSAGE);
}
}
}