Java-从Jar导入读取目录

时间:2018-06-30 14:59:00

标签: java file jar directory

我有一个this问题(我相信)无法回答的问题。我有两个单独的Maven项目,在其中一个中,我想浏览某个目录下的所有文件(它们恰好是.txt文件)。该目录位于我的第一个Maven项目的resource文件夹中。然后,我想导出我的第一个Maven项目,并将其作为.jar导入到SceneBuilder中,并且仍然可以导入.txt文件。完成此操作后,我想将此.jar用作第二个maven项目中的自定义组件。

为了澄清,这里是我的具体设置。这是我的第一个Maven项目的目录:

enter image description here

GradientPicker内一个名为com.thefractory.customcomponents的.java文件中,我想遍历上面看到的gradients文件夹,并希望读取其中的所有.txt文件。每次会有不同数量的文件,因此增强的for循环会很不错。我实际上已经设法完成了这一部分,但是仅当从Eclipse运行GradientPicker时才这样做。当我的项目也以.jar格式运行时,我也希望它能正常工作。

如何遍历目录并从.jar中读取所有文件?

1 个答案:

答案 0 :(得分:0)

    JarFile jf = new JarFile(new File("jar path"));
    jf.stream().filter(entry -> !entry.isDirectory()
            && entry.getName().startsWith("com/thefractory/customcomponents/gradients/")
            && entry.getName().endsWith(".txt"))
            .forEach(jarEntry -> {
                System.out.println("jarEntry.getName() = " + jarEntry.getName());
            });