我正在处理数字文档和数字签名,我偶然发现了一个问题。
输入:documentX.adoc - 包含文件和文件夹的zip文件。
我需要获取输入文件中的所有内容 - 目录和文件列表。
我该怎么做:
ZipFile adocFile = new ZipFile(documentXFileName);
ArrayList <String> adocFiles = new ArrayList<String>();
Enumeration <? extends ZipEntry> entries;
entries = adocFile.entries();
for (entries = adocFile.entries(); entries.hasMoreElements();)
{
adocFiles.add(entries.nextElement().getName());
}
我试图创建ArrayList&lt; ZipEntry&gt;并添加ZipEntries而不是名称 - 仍然没有。也许有其他方式?奇怪的是,ZipEntry有一个.isDirectory()方法......
感谢您的帮助, 马丁
答案 0 :(得分:9)
目录条目定义为名称以'/'。
结尾的目录条目
没有必要将目录存储在ZIP文件中 - 它们是可选条目。可以使用路径foo/bar.txt
存储字节序列,而不使用名为foo
的条目。 Zip工具可能会提供存档中存在此类事物的错觉,即使它们不存在。