从Jar中的目录读取文件内容的问题

时间:2016-08-10 07:07:01

标签: java file jar apache-commons

我在SO上找到了很多答案但不知何故无法将其与我的代码集成。

我有一个jar,在打开一个JarConnection后找到它的路径看起来像:

/Users/xyz/WTMS/target/WTMS.jar

我有一个目录,其名称为 vega-config-templates ,其下面包含未知文件名,如:

anonymous1.txt
anonymous2.txt
anonymous3.txt
.
.
.

代码:

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));
        }
    }
}

使用此代码,我可以访问顶级目录作为名称为#34; vega-config-templates&#34;的Jar条目。但在此我想做的事情如下:

FileUtils.listFiles(directory, null, true)

然后我希望随时随地获取这些Collection<Files>文件的内容,而我无法使用JarEntry ,因为它没有深入了解顶级目录。

我也不能在这些URI上应用传统的文件遍历来打开这个目录,然后将其作为一个简单的File directory = new File(jarUri+"/vega-config-templates")进行迭代;

如何动态迭代文件并获取文件对象,以便我可以在jar中的已知目录下提取每个文件对象的内容。

0 个答案:

没有答案