List e o comando split

4 respostas
scmarcia

Olá Pessoal

tenho o seguinte arquivo txt

34731128#60#1.5
34713684#70#1.4
34731128#40#1.3
34733000#20#1.4
34733000#20#1.4
34733000#20#1.4
34733000#20#1.4

coloquei este arquivo em um list lida

Agora, preciso querbrar estas informações da lista “lida”, elas representam númeroTel#duracao#custo(Cada linha do arquivo txt representa uma string da lista)

Como faço?
Alguma ideia?Será que a list não foi uma opcao muito boa.

Tenho a classe ligacao. Na verdade, queria colocar estar informações nos atributos da classe ligacao, ela tem como atributo “telefone”, “duracao” e custo.

Da pra fazer com o split?

4 Respostas

Rodrigo_Sasaki

Claro que sim, do jeito que ficou a estrutura está tranquilo pra resolver.
Faça o split pelo #

scmarcia

Se não for abuso, você pode me dar um exemplo deste caso.

seria lida.split("#");

Rodrigo_Sasaki

Mais ou menos, você tem que fazer o split pra cada item da lista, algo assim:for(String s : lista){ String[] dados = s.split("#"); }

lucasirc

eu acho que nao foi uma boa colocar as linhas lidas em uma lista…
voce poderia fazer:
para cada linha lida, voce já pode faz o split e montar o objeto Ligacao e adiciona ele na lista

algo como:

List<Ligacao> ligacoes = new ArrayList<Ligacao>();
while (nao for fim de arquivo)  {
       String linha =  arquivo.LerLinha()
       String[] dados = linha.split("#")
       Ligacao ligacao  = new Ligacao(dados[0], dados[1], dados[2]) // nao esquece de tratar caso o tamanho nao seja 3
       ligacoes.add(ligacao);
}

dai nao vai precisar de 2 loops pra cada item

abraço!

Criado 26 de março de 2013
Ultima resposta 26 de mar. de 2013
Respostas 4
Participantes 3