在目录和所有子目录中获取 Java 个文件

Get Java files in Directory and all Subdirectories

我正在尝试获取 directory(给定的)及其所有子目录中的所有 .java-files。这就是我想出的:

public static void getJavaFiles(Path path) {


    DirectoryStream<Path> stream = null;
    try {

        stream = Files.newDirectoryStream(path);
        for (Path entry : stream) {
            if (Files.isRegularFile(entry)) {
                if(entry.getFileName().toString() == "*.java") {
                    System.out.println(entry.getFileName().toString());
                };

            } else if (Files.isDirectory(entry)) {
                getJavaFiles(entry);
            }

        }



    } catch (IOException e) {

        throw new RuntimeException(String.format("error reading folder %s: %s", path, e.getMessage()), e);

    } finally {
        if(stream != null) {
            try {
                stream.close();
            } catch (IOException e) {

            }
        }
    }   

}

不幸的是 entry.getFileName().toString() == "*.java" 没有像我想象的那样工作。我获得了所有文件,但如何只获得 .java 文件?

你可以检查这个:

if(entry.getFileName().endsWith(".java"))