Соответствие двух путей в java

Я пытаюсь сопоставить путь с потоком пути, может ли кто-нибудь помочь

Вот исходный код:

public static void main(String[] args) {
    try (Stream<Path> paths = Files.walk(Paths.get("C:/Users/UCD/eclipse-workspace/metrics_cal/src/test/resources/xerces2-j-Xerces-J_2_8_0"))) 
    {
         Path path1 = Paths.get("\"C:/Users/UCD/eclipse-workspace/metrics_cal/src/test/resources/xerces2-j-Xerces-J_2_8_0/xerces2-j-Xerces-J_2_8_0/src/org/apache/xerces/jaxp/SAXParserImpl.java\";");

    } catch (IOException e) {
      e.printStackTrace();
    }
  }

Пути имеют набор всех путей к папке, а путь1 - это тот, который я хочу сопоставить, но проблема в том, что пути - это поток, а путь1 - нет, как я могу это сделать?

Stream - это мощный API в java. Вы можете использовать anyMatch или метод filter в Stream, чтобы он соответствовал path1. bool match = paths.anyMatch (w -> w.equals (path1)) бетонная страница.com/java/jdk-8/…

Silvinus 14.08.2018 15:37
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
78
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать Stream.anyMatch():

String directory = "C:/Users/UCD/eclipse-workspace/metrics_cal/src/test/resources/xerces2-j-Xerces-J_2_8_0";
String file = "\"C:/Users/UCD/eclipse-workspace/metrics_cal/src/test/resources/xerces2-j-Xerces-J_2_8_0/xerces2-j-Xerces-J_2_8_0/src/org/apache/xerces/jaxp/SAXParserImpl.java\";";
try (Stream<Path> paths = Files.walk(Paths.get(directory))) {
    Path path1 = Paths.get(file);
    if (paths.anyMatch(path1::equals)){
        // do something
    }
} catch (IOException e) {
    e.printStackTrace();
}

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