Leitura de arquivo csv

Bom dia galera.
Estou tentando faser um codigo pra ler um arquivo .csv e jogar seu conteudo em um ArrayList de vetores.
O arquivo tem 4 colunas sendo que a coluna 4 tem o nome, quando separa por ‘;’ quer diser pra preencher uma posicao do vetor
e quando é ‘\n’ é pra jogar o vetor no Array.
Mais ele ta jogando em todas as posicoes do array o ultimo vetor
Alguem pode me ajudar?

Segue parte do codigo:

[code]public static void InsereItem(){

        try{
            ArrayList <String[]> Clientes = new ArrayList <String[]>();
            Scanner leia = new Scanner(System.in);
            FileReader fr = new FileReader("c:/Comanda/Clientes.csv");
            File produtos = new File ("c:/Comanda/Produtos.csv");
            FileWriter fw = new FileWriter (produtos,true);
            String busca = "";
                if(produtos.exists()){
                    produtos.createNewFile();
                }
          
            int n = fr.read();
            String txt = "";
            String [] vet = new String [4];
            int i = 0;
            
            while (n != -1){
                    
                    n = fr.read();
		char letra = (char)n;
		txt = txt + letra;
                    
                        if (letra == ';'){
			vet[i] = txt;
                            i  = i + 1;
                            txt = "";
                        }
                        if (letra == '\n'){
                           vet[i] = txt; 
                           Clientes.add(vet); 
                           i = 0;
                           System.out.println(txt);
                           txt = "";
                        }
	  }
            
            fr.close();
  
                     System.out.println (Clientes.get(0)[3]);
                     System.out.println (Clientes.get(1)[3]);
                     System.out.println (Clientes.get(2)[3]);
                     System.out.println (Clientes.get(3)[3]);
            
        }catch (Exception ex){
            System.out.println ("");
            System.out.println ("   Ocorreu o seguinte erro : "+ex);    
            System.out.println ("");
        }
    }[/code]

leia isso aqui e arrume seu post por favor

25cent ,

Existe uma biblioteca chamada StringUtils. Dá um split por ; no seu código e tenha todas as posições do array preenchidas, sem problemas de null.

Abraços