В программе на Java мне нужно проанализировать файл CSV. Ничего необычного там нет.
Я использую реализацию CSVParser от Apache Commons, которая теперь использует CSVStrategy в качестве параметра для определения диалекта CSV.
Дело в том, что мне нужно избавиться от опции поиска комментариев во входном файле. Предполагается, что входной файл не имеет комментариев, и каждый символ (кроме, конечно, ;
) следует сохранить и считать значимым. В частности, стандартный символ #
не должен быть комментарием.
Вот код, который я использую до сих пор (который вызывает проблемы с #
, как и ожидалось):
fRead = new FileReader(someFilePath);
data = new CSVParser(fRead, new CSVStrategy(';', '"', '#')).getAllValues();
Третьим аргументом конструктора CSVStrategy является char
, поэтому он не может быть null
.
Что-то интересное - это наличие статического символа COMMENTS_DISABLED
и метода isCommentingDisabled()
в CSVStrategy, но нет установки для чего-то подобного.
Существует конструктор CSVParser, который принимает в качестве параметров только читатель и символ-разделитель, а не CSVStrategy, но он не рекомендуется. Итак, я полагаю, что есть способ добиться аналогичной функциональности с помощью CSVStrategy?