winrar无法解压缩包含目录的java创建的zip文件

winrar无法解压缩包含目录的java创建的zip文件,java,zip,unzip,winrar,Java,Zip,Unzip,Winrar,我已经使用JavaZIP实用工具创建了一个zip文件,在该zip文件中有以下目录结构 test.txt文件 mylabel.lbl-文件 aux-directory(在这个目录中,我有一些其他文件,如下所示) myfile.lbl firstfile.txt String dir=“aux\\”; 迭代器i=auxLabelFiles.Iterator(); while(i.hasNext()){ LabelFile LabelFile=i.next(); 字符串lableFileName=l

我已经使用JavaZIP实用工具创建了一个zip文件,在该zip文件中有以下目录结构

  • test.txt文件
  • mylabel.lbl-文件
  • aux-directory(在这个目录中,我有一些其他文件,如下所示)
  • myfile.lbl
  • firstfile.txt
  • String dir=“aux\\”;
    迭代器i=auxLabelFiles.Iterator();
    while(i.hasNext()){
    LabelFile LabelFile=i.next();
    字符串lableFileName=labelFile.getMetadata().getLabelFileName();
    zipencoder.addToZip(dir+lableFileName,labelFile.getMedia().getByteData());
    }
    
    这是一个只有代码的“aux”目录,文件下载后可以用7zip打开,并正确显示目录结构

    当我尝试用WinRAR解压文件时,它只解压所有外部目录文件,并显示一条错误消息。”无法创建aux\myfile.lbl系统找不到指定的路径'

    我猜不出这是创建文件的问题还是WinRAR问题

    如有任何评论,我们将不胜感激

    谢谢,
    Dil.

    问题是ZIP存档中的目录
    aux
    ,因为aux是一个保留名称,不能在Windows上用作文件或目录的名称,请参阅MSDN文章。因此,将目录重命名为不同的名称(如
    Auxiliary
    )可以解决问题。

    是不是
    aux
    是windows下的保留引用,如
    null
    ?没错。。它解决了我的问题。我刚把名字改成“辅助”,现在工作很好。谢谢你的帮助。。。
    String dir = "aux\\";
            Iterator<LabelFile> i = auxLabelFiles.iterator();
            while (i.hasNext()) {
                LabelFile labelFile = i.next();
                String lableFileName = labelFile.getMetadata().getLabelFileName();
                zipEncorder.addToZip(dir + lableFileName, labelFile.getMedia().getByteData());
            }