我有一个this问题(我相信)无法回答的问题。我有两个单独的Maven项目,在其中一个中,我想浏览某个目录下的所有文件(它们恰好是.txt文件)。该目录位于我的第一个Maven项目的resource文件夹中。然后,我想导出我的第一个Maven项目,并将其作为.jar导入到SceneBuilder中,并且仍然可以导入.txt文件。完成此操作后,我想将此.jar用作第二个maven项目中的自定义组件。
为了澄清,这里是我的具体设置。这是我的第一个Maven项目的目录:
从GradientPicker
内一个名为com.thefractory.customcomponents
的.java文件中,我想遍历上面看到的gradients
文件夹,并希望读取其中的所有.txt文件。每次会有不同数量的文件,因此增强的for循环会很不错。我实际上已经设法完成了这一部分,但是仅当从Eclipse运行GradientPicker
时才这样做。当我的项目也以.jar格式运行时,我也希望它能正常工作。
如何遍历目录并从.jar中读取所有文件?
答案 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());
});