Alterar e/ou excluir linha em arquivo.txt

2 respostas
Marques

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
private void teste(List<Funcionario> 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();
	}

2 Respostas

Djonatah

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

Jair_Rillo_Junior

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.

Criado 1 de outubro de 2008
Ultima resposta 1 de out. de 2008
Respostas 2
Participantes 3