2013-02-12 105 views
0

我有一个有路径的zip文件。当我解压文件并将其放入我的目标文件夹时,它会创建路径的文件夹。我如何从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

为此,我简单地使用我自己的路径和文件名。

fis = new FileInputStream(dirList[i]) 
ZipEntry anEntry = new ZipEntry(rootName + "/" + dirList[i].name) 
zos.putNextEntry(anEntry) 

with rootName =“”如果您的zip文件不包含任何文件夹。 基本上你的路径必须是相对于你的zip文件的根。 我希望你明白我的意思。

0
String name = new File(filesToZipP[i]).getName(); 
    out.putNextEntry(new ZipEntry(name)); 
+0

非常感谢你......现在正在工作...... – user2064686 2013-02-13 03:38:52

相关问题