Pessoal! Estou com dificuldade em Alterar um dado dentro de um arquivo txt! alguém poderia me ajudar! Este é meu código:
public static String alterarFuncionario(File fileFunc, String nomeFunc, String cpfFuncNovo) throws FileNotFoundException{
String linhaReescrita = null ;
String linha = “”;
String vetorlido[];
vetorlido = linha.split(":");
try {
FileReader fileReader = new FileReader(fileFunc);
BufferedReader bufferedReader = new BufferedReader(fileReader);
linha = bufferedReader.readLine();
ArrayList salvar = new ArrayList();
while (linha != null ) {
if (linha.contains(nomeFunc) && linha.contains(vetorlido[1])) {
linhaReescrita = linha.replace(vetorlido[1], cpfFuncNovo);
}
linha = bufferedReader.readLine();
}
bufferedReader.close();
fileReader.close();
FileWriter fileWriter2 = new FileWriter(fileFunc, true );
fileWriter2.close();
FileWriter fileWriter = new FileWriter(fileFunc);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
for ( int i = 0; i<salvar.size(); i++) {
bufferedWriter.write(salvar.get(i));
bufferedWriter.newLine();
}
bufferedWriter.close();
fileWriter.close();
} catch (IOException ex) {
}
return linhaReescrita;
}
No main tento imprimir:
String newcpf;
System.out.printf(“Informe o nome do funcionario cujo os dados deseja alterar:\n”);
nome = ler.nextLine();
System.out.printf(“Digite o dado que deseja alterar de forma correta:\n”);
newcpf = ler.nextLine();
Funcionario.alterarFuncionario(fileFunc, nome, newcpf);
break;
O código funciona da seguinte forma: Tenho no arquivo o nome e o cpf de um funcionario. O usuário vai pesquisar o nome do usuário e vai alterar o CPF. O Cpf antigo vai ter que ser alterado pelo novo!