Ir para conteúdo
Fórum Script Brasil
  • 0

Escrevendo em um arquivo de texto


Vinicius11

Pergunta

Opa galera! Eu sou iniciante em JAVA, mas estou tentando criar um gerador de códigos para usar no meu site, porém estou com um problema:
Eu quero que o gerador pergunte quantos códigos o usuário quer gerar. Depois isso, ele deve gerar os códigos e salvar em um arquivo txt. Síntese do meu código:

int q1=0
System.out.println("Quantos códigos gerar?");
        q = new Scanner(System.in).nextInt();
while(q1<q){
...
//Aqui eu gero o código guardando na string cod
...
try(PrintWriter out = new PrintWriter("Códigos.txt")){
    out.println(cod);
    }
}

Porém, quando eu abro o Códigos.txt, somente o ultimo código gerado fica salvo, porém, se eu peço 40 códigos, eu quero 40 códigos no arquivo. Como eu poderia fazer isso?

Editado por Vinicius11
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Olá a todos, segue abaixo um exemplo bem rudimentar.

package gerador;

import java.io.FileOutputStream;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Random;

public class Gerador {
	
	public static void main(String[] args){
		//gerando os numeros
		ArrayList<Integer> numero=gerarNumeros(200000);
		
		//salvando os numeros.
		escreveArquivo(numero, "/home/teste/java/lista.txt");
		
		//imprimindo
		for(int i=0; i<numero.size(); i++){
			System.out.println(numero.get(i));
		}
	}

	public static ArrayList<Integer> gerarNumeros(int quantidade){
		ArrayList<Integer> numeros=new ArrayList<Integer>();
		Random gerador=new Random();
		for(int i=0; i<quantidade; i++){
			numeros.add(gerador.nextInt());
		}
		return numeros;
	}
	
    private static boolean escreveArquivo(ArrayList<Integer> selecao, String arquivo){
		if(arquivo.isEmpty()){
			System.out.println("O nome do arquivo ("+arquivo+") e invalido.");
			return false;
		}else if(selecao.size()<=0){
			System.out.println("O conjunto de numero esta vazio!");
			return false;
		}else{
			
			try{
				FileOutputStream fo=new FileOutputStream(arquivo);
				PrintWriter arq=new PrintWriter( fo);
				
				for(int i=0; i<selecao.size(); i++){
					arq.println(selecao.get(i));
				}
				arq.close();
				
			}catch(Exception e){
				System.out.println("Erro ao tentar escrever a lista ("+arquivo+"): "+e.getMessage());
			}
			return true;
		}
	}

}

 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...