我有一个包含路径的zip文件。当我解压缩文件并将其放入目标文件夹时,它会创建路径文件夹。
public boolean doZip(String fileName, String zipfilename) {
boolean zipStatus = true;
try {
String[] filesToZipP = new String[1];
filesToZipP[0] = fileName;
byte[] buffer = new byte[1000];
ZipOutputStream out =
new ZipOutputStream(new FileOutputStream(zipfilename));
out.setLevel(Deflater.DEFAULT_COMPRESSION);
for (int i = 0; i < filesToZipP.length; i++) {
FileInputStream in = new FileInputStream(filesToZipP[i]);
out.putNextEntry(new ZipEntry(filesToZipP[i]));
int len;
while ((len = in.read(buffer)) > 0) {
out.write(buffer, 0, len);
}
out.closeEntry();
in.close();
}
out.close();
}
catch (IllegalArgumentException e) {
zipStatus = false;
}
return zipStatus;
}
答案 0 :(得分:0)
为此,我只使用自己的路径和文件名。
fis = new FileInputStream(dirList[i])
ZipEntry anEntry = new ZipEntry(rootName + "/" + dirList[i].name)
zos.putNextEntry(anEntry)
如果您的zip文件不包含任何文件夹,则使用rootName =“”。 基本上,您的路径必须相对于zip文件的根目录。 我希望你明白我的意思。
答案 1 :(得分:0)
String name = new File(filesToZipP[i]).getName();
out.putNextEntry(new ZipEntry(name));