Читать список файлов в поток - PullRequest
0 голосов
/ 28 февраля 2019

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

Где я застрял: у меня есть список моих файлов, уже объявленных, и я хочу открыть их вstream, чтобы я мог выполнить некоторое необычное Java-кодирование с потоками.

Сейчас мой код выглядит следующим образом:

   return !(Files.lines(Path.of(String.valueOf(FileList)))
      .anyMatch(v -> !v.matches(pattern));

Файлы находятся в рабочем каталоге проекта, поэтому им нужно только имя файла дляполучить доступ к ним.Я хочу читать файлы построчно, чтобы проверить наличие неправильных строк.Это способ чтения списка файлов с потоками?Если вы знаете какой-либо другой способ сделать эту работу с потоками, пожалуйста, поделитесь.Большое спасибо!

1 Ответ

0 голосов
/ 28 февраля 2019

У меня есть список уже объявленных моих файлов

Предполагается, что это ваша FileList переменная 1 и что это List<String> (не указано)в вопросе), то вы должны сделать что-то вроде этого:

Predicate<String> matches = Pattern.compile(pattern).asMatchPredicate();
return FileList.stream().allMatch(f -> {
    try {
        return Files.lines(Paths.get(f)).allMatch(matches);
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
});

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

...