Arquivos e ArrayList: gravando dados no arquivo

4 respostas
H

Sou iniciante em java, e estou querendo criar o seguinte método.

Pegar um ArrayList, que tenha uma String em cada posição: Exemplo: [ Amarelo, Verde, Azul, Branco], e jogá-lo em um BufferedWriter, e em seguida, criar um arquivo .txt no qual cada elemento do ArrayList ficará em uma linha. Exemplo:

Amarelo
Verde
Azul
Branco

Quem puder me ajudar, agradeço.

4 Respostas

Preco

Cola o código que você já fez, pra gente poder ajudar certinho…

(sem código, dá a impressão que você recebeu um trabalho na faculdade, e não se esforçou pra chegar num resultado, o que - tomara - não é o caso)

H

Preco:
Cola o código que você já fez, pra gente poder ajudar certinho…

(sem código, dá a impressão que você recebeu um trabalho na faculdade, e não se esforçou pra chegar num resultado, o que - tomara - não é o caso)

Ai esta, estou precisando de uma idéia para terminar o método salvarEmArquivo, da forma que especifiquei.

public class Controle {
    
    private LinkedList<String> lista =  new LinkedList() ;

    public Controle() {
        insereCor();
    }
    
public void insereCor(){
     
    lista.add("Azul");
    lista.add("Verde");
    lista.add("Amarelo");
    lista.add("Preto");
    
}
    
    public void salvarEmArquivo(){
        
        File novoarquivo =  new File("/teste.txt");
        
        BufferedWriter buffer = new BufferedWriter();
        
    }
    
}
ViniGodoy

Seu enunciado pede um ArrayList, não um linked list:

public class Controle {
   private List<String> lista =  new ArrayList() ;

   public Controle() {
      insereCor();
   }
    
   public void insereCor() {     
      lista.add("Azul");
      lista.add("Verde");
      lista.add("Amarelo");
      lista.add("Preto");    
   }
    
   public void salvarEmArquivo(){        
      FileWriter fileWriter;
      BufferedWriter buffer;
      PrintWriter out;
      try {
         fileWriter = new FileWriter(File("/teste.txt"));
         buffer = new BufferedWriter(fileWriter);
         out = new PrintWriter(buffer)
         for (String cor : lista) {
            out.println(cor);
         }
      } finally {
         if (out != null) out.close();
         if (buffer != null) buffer.close();
         if (fileWriter != null) fileWriter.close();
      }
   }    
}

Detalhe, você pode simplificar muito esse código se passar o File diretamente no construtor do PrintWriter. Só fiz dessa forma pq vc diz explicitamente que precisa usar um BufferedWriter. Na prática, o FileWriter fará isso também, já que cria um BufferedWriter internamente.

H

Resolvi usar um LinkedList.

Obrigado, me ajudou. Vou tentar “refinar”…
:smiley:

Grato.

Criado 26 de junho de 2009
Ultima resposta 26 de jun. de 2009
Respostas 4
Participantes 3