Prezados amigos,
Sou iniciante no estudo dessa maravilhosa ferramenta. Estou tentando fazer o seguinte trabalho:
Criei um classe chamada PlanoDeVoo que possui como único atributo uma variável mapa do tipo Map<String, List>. Os dados para popular o List vêm de um arquivo txt. No costrutor dessa classe passeei o nome do arquivo e coloquei a variável mapa. Como fazer para transferir os dados do aqruivo para o List de forma que construa o mapa. Não quero fazer isso no método main e sim na classe PlanoDeVoo.
Atenciosamente,
Antonio Paulo.
Como está salva as informações em arquivo? Cite um exemplo de uma informação que este contém
Em primeiro lugar você vai precisar criar um método para ler o arquivo, e então inserir na lista o que vem do arquivo.
Se não sabe ler um arquivo txt, da uma lida aqui: manipulando-arquivo-txt-com-java
Prezado ederfreitas.
Segue cópia do arquivo para sua informação.
Atenciosamente,
Antonio Paulo.
Prezados,
A minha dúvida consiste em popular a List utilizando os dados de um arquivo txt.
Saudações,
Antonio Paulo.
Se você não trabalhar com objetos serializados terá que adotar um padrão, visto que seu arquivo mantém origem e destino salvos a cada linha separados por " -> ", eu adoria separar estado de cidade utilizando “;” Exemplo Cascavel;Maringa, no caso no seu código você faria leirua do Stream linha-a-linha e faria um split do “;” que retorna um array, onde no index 0 estará a cidade e no 1 estado, segue-se uma forma de fazer isso da forma que está, desta forma você lê seu arquivo e seta-o em um POJO:
[code]public List getVoos(){
List listVoo = new LinkedList();
BufferedReader br = null;
int origem = 0;
int destino = 1;
String [] avoo = new String[2];
try {
br = new BufferedReader (new FileReader (“C:\voos.txt”));
for (String linha = br.readLine(); linha != null; linha = br.readLine()) {
avoo = linha.split(" -> ");
Voo voo = new Voo();
voo.setOrigem(avoo[origem]);
voo.setDestino(avoo[destino]);
System.out.println("Origem "+voo.getOrigem());
System.out.println("Destino "+voo.getDestino());
listVoo.add(voo);
}
return listVoo;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) try { br.close(); } catch (IOException ex) { }
}
return null;
}
public class Voo{
private String origem;
private String destino;
public String getOrigem(){
return this.origem;
}
public String getDestino(){
return this.destino;
}
public void setOrigem(String origem){
this.origem = origem;
}
public void setDestino(String destino){
this.destino = destino;
}
}
[/code]
P.S. Tire toda as linhas em branco do seu arquivo, caso contrário ele retorna NullPointerException após fazer o split ato tentar obter um valor no array.