Java 从Jar中的目录读取文件内容时出现问题
我在上面找到了很多答案,但不知何故,我无法将其与我的代码集成 我有一个jar,在打开JarConnection并找到它的路径后,它看起来像:Java 从Jar中的目录读取文件内容时出现问题,java,file,jar,apache-commons,Java,File,Jar,Apache Commons,我在上面找到了很多答案,但不知何故,我无法将其与我的代码集成 我有一个jar,在打开JarConnection并找到它的路径后,它看起来像: /Users/xyz/WTMS/target/WTMS.jar 我有一个名为vega config templates的目录,目录下有未知的文件名,如: anonymous1.txt anonymous2.txt anonymous3.txt . . . 代码: 然后我想随时获取这些集合文件的内容,这是我无法使用JarEntry实现的,因为它无法深入顶
/Users/xyz/WTMS/target/WTMS.jar
我有一个名为vega config templates的目录,目录下有未知的文件名,如:
anonymous1.txt
anonymous2.txt
anonymous3.txt
.
.
.
代码:
然后我想随时获取这些集合
文件的内容,这是我无法使用JarEntry实现的,因为它无法深入顶层目录。
我也不能对这些URI应用传统的文件遍历来打开此目录,然后作为简单的文件目录=新文件(jarUri+“/vega config templates”)
对其进行迭代
如何动态迭代文件并获取文件对象,以便提取每个文件的内容,都在jar中的已知目录下。您是否尝试以流的形式读取>我不知道要作为输入流读取的目录下的文件名您是否尝试以流的形式读取>我不知道要作为输入流读取的目录下的文件名
URL url = getClass().getClassLoader().getResource(directoryPath);
List<String> arrayList = new ArrayList<>();
final Enumeration<JarEntry> entries = jarFile.entries();
while (entries.hasMoreElements()) {
final JarEntry entry = entries.nextElement();
final String entryName = entry.getName();
System.out.println("Entry name "+entryName);
if (entryName.startsWith("/vega-config-templates")) {
arrayList.add(entryName.replace('/', File.separatorChar));
}
}
}
FileUtils.listFiles(directory, null, true)