假设我有一个名为Bundles.zip的.zip文件,并且直接在Bundles.zip中,有几个文件和几个文件夹.这就是.zip的样子:
现在,我想提取一切从捆绑文件夹.我的程序已经知道从中提取文件所需的文件夹的名称,在本例中为Bundles.
zip中的Bundles文件夹可以包含子文件夹中的文件,子文件夹,文件,基本上都是这样的:
我只需要从Bundles文件夹中提取所有内容到输出目录.
我怎样才能在Java中实现这一目标?我找到了提取zip中所有文件和文件夹的答案,但我只需要提取zip中的特定文件夹,而不是一切.
到目前为止工作代码:
ZipFile zipFile = new ZipFile(mapsDirectory + "mapUpload.tmp");
Enumeration zipEntries = zipFile.entries();
String fname;
String folderToExtract = "";
String originalFileNameNoExtension = originalFileName.replace(".zip", "");
while (zipEntries.hasMoreElements()) {
ZipEntry ze = ((ZipEntry)zipEntries.nextElement());
fname = ze.getName();
if (ze.isDirectory()) //if it is a folder
{
if(originalFileNameNoExtension.contains(fname)) //if this is the folder that I am searching for
{
folderToExtract = fname; //the name of the folder …Run Code Online (Sandbox Code Playgroud)