winrar无法解压缩包含目录的java创建的zip文件
我已经使用JavaZIP实用工具创建了一个zip文件,在该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
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());
}