Criar ArrayList e ler seus dados

2 respostas
J

Preciso ler o arquivo contas.txt e transacoes.txt, para cada um vou usar um ArrayList , mas naum sei como implementar , alguém poderia me dar uma ajuda.

Segue código.

package Banco;
/* ter arrayContas

  • ter Transa��es
  • */
//import Banco.Transacoes;

import <a href="http://java.io">java.io</a>.*;

import java.io.BufferedReader;

import java.util.ArrayList;

//import java.io.File;

public class BalanceLine{

public static void main(String[] args)  {

   //Array Conta
   ArrayList[] contas = new ArrayList [10000];
  // Array Trnasaçoes
    ArrayList[] transacao = new ArrayList [10000];
 // Array Erros
    ArrayList[] erros = new ArrayList [10000];
 // Array novoContas
     ArrayList[] novoContas = new ArrayList [10000];
     
     
contas = file("contas.txt"); // coloco todo o arquivo num array
//le o arquivo contas   falta  salvar no ArrayContas

BufferedReader arqcontas=null;

try {

arqcontas = new BufferedReader(new FileReader(contas.txt));

String line = arqcontas.readLine(); // le linha do arquivo
// joga no Array ??

         while((line=arqcontas.readLine()) != null){
               contas().add(line); //grava o texto no arrayList
         }

		 //while (line != null) {
          //   line = Conta[];
         //}


     } catch (IOException ioe) {
         System.out.println("Nao foi possivel ler o arquivo.");
         System.exit(1);
     }//fim da leitura arquivo contas

   // outro metodo encontrado para ler arquivo

 /*      File file = new File("texto.txt");
FileReader fileReader = new FileReader(file);
BufferedReader buffer = new BufferedReader(fileReader);

String line = buffer.readLine();
while (line != null) {
    //...
    line = buffer.readLine();

}
*/

/*# gravar no arquivos : exemplo
    *
  */
    File novoarquivo =  new File("novocontas.txt");
   // cria um fileWriter para passar para o bufferWriter passando o file como parametro
   Writer writer = new BufferedWriter(new FileWriter(novoarquivo));
   try {
      // percorre a lista colocando os elementos no arquivo
      for (String s : novoContas) {
         writer.write(s + "\r\n");
      }
   } finally {
      writer.close();
   }

}//fim do main

private static Object contas() {
    throw new UnsupportedOperationException("Not yet implemented");
}

private static ArrayList[] file(String string) {
    throw new UnsupportedOperationException("Not yet implemented");
}

}//fim da classe

2 Respostas

T

Não sou muito bem em manipulação de arquivos, mas até onde seu código está funcionando?

Obs.: coloca o código entre as tags code.

[]s

lina

Oi,

de uma olhada em seu código.:

//le o arquivo contas falta salvar no ArrayContas 
BufferedReader arqcontas=null; 
try { 
arqcontas = new BufferedReader(new FileReader("contas.txt")); 
String line = arqcontas.readLine(); // le linha do arquivo 

// joga no Array ?? 

while((line=arqcontas.readLine()) != null){ 
contas().add(line); //grava o texto no arrayList 
}

O método readLine(); pega como referencia a primeira linha. Sendo assim quando entrar no seu laço de repetição ele irá pegar a segunda linha. Ou seja, essa sua primeira comparação String line = arqcontas.readLine(); é desnecessária.

Outra situação é... porque criar um "vector" de array? (ArrayList[])

Modifiquei sua codificação, e veja como ficou.:

BufferedReader 
arqcontas = null;
		
String
line = null;
		
ArrayList<String>
contas = new ArrayList<String>();
		
try 
{ 
    arqcontas = new BufferedReader(new FileReader("contas.txt")); 
			
    while ((line=arqcontas.readLine()) != null) { 
            contas.add(line); //grava o texto no arrayList 
    }
} 
catch (IOException ioe) 
{ 
    System.out.println("Nao foi possivel ler o arquivo."); 
    System.exit(1); 
}

Um pouco melhor né? Espero ter ajudado..

Tchauzin!

Criado 30 de junho de 2009
Ultima resposta 1 de jul. de 2009
Respostas 2
Participantes 3