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

Foi útil?

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));
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top