Alterar e/ou excluir linha em arquivo.txt

Colegas,

Com o método abaixo (sem o try/catch) para facilitar o entendimento eu crio um arquivo.txt
Agora surgiu a necessidade de incluir, alterar ou excluir uma linha no arquivo criado.

Alguma dica?

Muito obrigado,

José Marques

[code]private void teste(List funcionarios){
DecimalFormat df = new java.text.DecimalFormat(“000000”);
File diretorio = new File(realPath);
File arquivo1 = new File(diretorio, “funcionario.txt”);

	FileWriter writer = new FileWriter(arquivo1);
	PrintWriter saida = new PrintWriter(writer);
	
	for (Funcionario func : funcionarios) {
		String toDo = "I";
		String id = df.format(func.getIdPessoa());
		String registro = paddingString(func.getRegistroFunc(), 20);
		String nome = paddingString(func.getNome(), 50);
		String linha = toDo.concat(id).concat(registro).concat(nome).concat("\r\n");
		saida.write(linha);				
	}
	
	saida.close();
	writer.close();
}[/code]

1 - Voce pode carregar o conteudo em uma collection, verificar qual linha tu queres modificar ou excluir, entao gravar a collection novamente no arquivo :wink:

2 - Leia o arquivo e grave o conteudo ateh a posicao linha a ser modificar/excluida/insirida, faca o que queres fazer e entao leia/grave o resto do conteudo.

Abracos
<><

Infelizmente não tem um jeito simples e direto para fazer o que você quer.
Aconselho você a fazer, como o amigo disse, utilizar um arquivo temporário para fazer as modificações. A idéia de carregar em uma collection é legal, mas dependendo do tamanho do arquivo, pode ser um problema.