Como criar vários arquivos txt com nomes diferente?

5 respostas Resolvido
Bruno_Souza3
Meu professor pediu para gnt fazer um programa de banco,  pediu para salvar as informações das pessoas em arquivos,  que ele pediu cada pessoa um arquivo, eu  consegui salvar tudo em um arquivo, como faço para separar os salvamentos em arquivos diferentes?

exemplo do código que estou usando para salvar:

try{

String nomeArquivo = (C:\Users\Public\Documents\BDD\pessoas.txt);

FileWriter file = new FileWriter(nomeArquivo, true);

BufferedWriter buff = new BufferedWriter(file);

buff.newLine();

buff.write("Nome: "+this.nome);

buff.newLine();

buff.write("CPF: "+this.cpf);

buff.newLine();

buff.write("RG: "+this.rg);

buff.newLine();

buff.write("Endereço: "+this.endereco);

buff.newLine();

buff.close();

}

catch(IOException e){

e.printStackTrace();

}

tipo, como faço para salvar um arquivo tipo pessoas2.txt

5 Respostas

JulioCesarSF

Você poderia salvar cada arquivo com o nome da pessoa.

M

Mano, você pode fazer um ArrayList, baseado na hora que o arquivo foi criado! Usando o Date do java.util!

staroski
Solucao aceita

Analisando seu código, é só trocar o nome do arquivo de pessoas.txt para o nome da pessoa .txt.

Bruno_Souza3

como?

JulioCesarSF

Ali onde está pessoas.txt você coloca o nome da pessoa. (ex: “Maria.txt”).

public void gravarArquivo(Pessoa pessoa){	
	if(pessoa == null) throw new NullPointerException("Pessoa é null");
	
	Path caminho = Paths.get("C:/arquivosTxt/" + pessoa.getNome() + ".txt");
	Field[] campos = pessoa.getClass().getDeclaredFields();
	try (BufferedWriter w = Files.newBufferedWriter(caminho)) {
		for(Field campo : campos){			
			String nomeCampo = campo.getName();
			String valorCampo = String.valueOf(campo.get(this));
			w.write(nomeCampo + ":" + valorCampo + "\n");			
		}
	} catch (Exception e) {
		e.printStackTrace();
	}
}
Criado 30 de setembro de 2017
Ultima resposta 6 de out. de 2017
Respostas 5
Participantes 4