Java-从Jar导入读取目录

Java-从Jar导入读取目录,java,file,jar,directory,Java,File,Jar,Directory,我有一个问题(我相信)没有答案。我有两个独立的maven项目,在其中一个项目中,我想浏览某个目录中的所有文件(它们恰好是.txt文件)。这个目录位于我的第一个maven项目的资源文件夹中。然后我想导出我的第一个maven项目,并将其作为.jar导入到SceneBuilder中,并且仍然可以导入.txt文件。完成后,我想在我的第二个maven项目中使用这个.jar作为自定义组件 对于一些澄清,这里是在我的情况下的确切设置。以下是我的第一个maven项目的目录: 从com.thefractory.

我有一个问题(我相信)没有答案。我有两个独立的maven项目,在其中一个项目中,我想浏览某个目录中的所有文件(它们恰好是.txt文件)。这个目录位于我的第一个maven项目的资源文件夹中。然后我想导出我的第一个maven项目,并将其作为.jar导入到SceneBuilder中,并且仍然可以导入.txt文件。完成后,我想在我的第二个maven项目中使用这个.jar作为自定义组件

对于一些澄清,这里是在我的情况下的确切设置。以下是我的第一个maven项目的目录:

com.thefractory.customcomponents
内部名为
GradientPicker
的.java文件中,我想循环查看上面看到的
gradients
文件夹,并读取其中的所有.txt文件。每次都会有不同数量的文件,所以增强的for循环会更好。这一部分我实际上已经做到了,但只有当从Eclipse运行
GradientPicker
时。当我的项目作为.jar运行时,我希望它也能工作


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

jar中没有目录。有资源和资源路径(可能看起来像目录,但实际上不是)。“如何在目录中循环并读取.jar中的所有文件?”因为您显然正在构建jar,所以请准备并包含感兴趣的资源列表。@Andrew Thompson Ooh。。。那么我可以问一个后续问题吗。1:你怎么建议我把这个清单包括进去?硬编码吗?2:您认为让用户在jar中保存文件,然后在下次打开jar时读取这些文件的最佳方式是什么?“…让用户在jar中保存文件,然后在下次打开jar时读取这些文件的最佳方式是什么?”请参阅。。
    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());
            });