Вопрос

Я решил создать конвертер валют на Java и настроить его так, чтобы он извлекал значения конвертации из текстового файла (для удобства редактирования, поскольку эти значения постоянно меняются).Мне удалось сделать это, используя класс Scanner и поместив все значения в ArrayList .

Теперь мне интересно, есть ли способ добавить комментарии к текстовому файлу для чтения пользователем, которые сканер проигнорирует."//" похоже, не работает.

Спасибо

Это было полезно?

Решение

Лучшим способом было бы прочитать файл построчно, используя java.io.BufferedReader и сканируйте каждую строку на наличие комментариев, используя String#startsWith() где в тебе ищет "//".

Но рассматривали ли вы возможность использования файла свойств и управления им с помощью java.util.Properties API?Таким образом, вы можете воспользоваться готовой спецификацией и API, и вы можете использовать # в качестве начала строки комментария.Также смотрите учебное пособие по адресу sun.com.

Другие советы

Сканер ничего не будет игнорировать, вам придется удалить комментарии из ваших данных после того, как вы их прочитаете.

Да, хотя ((currentLine = BufferedReader.readLine()) != null), возможно, самый простой, затем выполните необходимые тесты.currentLine.split(регулярное выражение) также очень удобно для преобразования строки в массив значений с использованием разделителя.

С Java nio вы могли бы сделать что-то вроде этого.Предполагая, что вы хотите игнорировать строки, которые начинаются с "//" и заканчиваются ArrayList .

List<String> dataList;
Path path = FileSystems.getDefault().getPath(".", "data.txt");
dataList = Files.lines(path)
             .filter(line -> !(line.startsWith("//")))
             .collect(Collectors.toCollection(ArrayList::new));
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top