在java中匹配两个路径

问题描述 投票:0回答:1

我试图将路径与路径流相匹配,任何人都可以提供帮助

这是初始代码:

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();
    }
  }

路径有文件夹的所有路径的集合,path1是我想要匹配的路径但问题是路径是一个流而path1不是我该怎么办?

java
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();
}
© www.soinside.com 2019 - 2024. All rights reserved.