Importando de arquivo de texto questão Java
-
13-09-2019 - |
Pergunta
Eu decidi criar um conversor de moeda em Java, e tê-lo para que ele iria puxar os valores de conversão a partir de um arquivo de texto (para permitir a fácil capacidade de edição uma vez que estes valores estão mudando constantemente). Eu consegui fazer isso usando a classe Scanner e colocar todos os valores em um ArrayList.
Agora eu estou querendo saber se existe uma maneira de adicionar comentários ao arquivo de texto para o usuário leia, que Scanner irá ignorar. "//" não parece trabalho.
Graças
Solução
A melhor maneira seria ler o arquivo linha por linha usando java.io.BufferedReader
e verificação de cada linha de comentários usando String#startsWith()
onde em você procura "//"
.
Mas você já pensou em usar um arquivo de propriedades e gerenciá-lo usando o java.util.Properties
API? Desta forma, você pode se beneficiar de uma especificação de ready-made e API de e você pode usar # como início da linha de comentário. Também ver a tutorial em sun.com .
Outras dicas
Scanner não vai ignorar qualquer coisa, você terá que remover os comentários de seus dados depois de ter lido em.
Sim, while ((currentline = BufferedReader.readLine ())! = Null) é possivelmente o mais fácil, em seguida, executar os testes necessários. currentLine.split (regex) também é muito útil para a conversão de uma linha em uma matriz de valores usando um delimitador.
Com nio Java, você poderia fazer algo assim. Supondo que você deseja ignorar linhas que começam com "//" e acabar com um ArrayList.
List<String> dataList;
Path path = FileSystems.getDefault().getPath(".", "data.txt");
dataList = Files.lines(path)
.filter(line -> !(line.startsWith("//")))
.collect(Collectors.toCollection(ArrayList::new));