用java中的目录提取zip文件

用java中的目录提取zip文件,java,zip,Java,Zip,我找到了一些从.zip文件中提取文件的方法。其中出现以下代码段: File newFile = new File(entry.getName()); String directory = newFile.getParent(); if (directory == null) { if (newFile.isDirectory()) { break; } } 我理解这段代码“做了什么”(从语法上讲),但我不理解它的目的。如果没有父目录,而新文件本身就是

我找到了一些从.zip文件中提取文件的方法。其中出现以下代码段:

File newFile = new File(entry.getName());
String directory = newFile.getParent();

if (directory == null)
{
    if (newFile.isDirectory())
    {
         break;
    }
}

我理解这段代码“做了什么”(从语法上讲),但我不理解它的目的。如果没有父目录,而新文件本身就是一个目录,为什么需要中断while循环?还有,怎么可能没有父文件夹呢?我认为每个文件都是在工作目录中创建的,因此总是有一个“父文件”

这段代码中没有while循环。原始代码在链接“java代码在线”中。很可能目录中没有要提取的文件内容,提取已经创建了一个目录类型的新文件。没有更多的细节,所以打破循环。我估计当你压缩一个空文件夹时会发生这种情况。