java - Java - 从 Jar 导入读取目录
问题描述
我有一个问题没有被这个问题回答(我相信)。我有两个独立的 maven 项目,其中一个我想浏览某个目录中的所有文件(它们恰好是 .txt 文件)。该目录位于我的第一个 maven 项目的资源文件夹中。然后我想导出我的第一个 maven 项目并将其作为 .jar 导入到 SceneBuilder 中,并且仍然可以导入 .txt 文件。完成后,我想将此 .jar 用作我的第二个 maven 项目中的自定义组件。
对于一些澄清,这里是我的情况的确切设置。这是我的第一个 maven 项目的目录:
GradientPicker
从内部调用的 .java 文件中,com.thefractory.customcomponents
我想遍历gradients
上面看到的文件夹并想要读取其中的所有 .txt 文件。每次都会有不同数量的文件,因此增强的 for 循环会很好。这部分我实际上已经做到了,但只有在GradientPicker
从 Eclipse 运行时才能做到。当我的项目也作为 .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());
});
推荐阅读
- azure - Azure 存储队列触发 Azure 函数高可用性
- python - 允许用户指定日期范围并按日期排序 (PYTHON)
- spring-boot - POJO类中可能使用注释的条件运算符?
- c - 测试所有数组元素是否为零的快速方法
- python-3.x - 从节点 red mqtt 节点到 python3 客户端的 Traduce
- string - 删除谷歌应用程序脚本中字符串中的尾随空格
- regex - 正则表达式替换为结尾和开头没有空格的字符串
- c# - 如何从 Excel / C# 获取宏数据?
- azure-devops - Azure Devops 构建完成通知未触发
- python - 如何在熊猫数据框中附加具有默认值的额外列?