• 爱情文章
  • 亲情文章
  • 友情文章
  • 生活随笔
  • 校园文章
  • 经典文章
  • 人生哲理
  • 励志文章
  • 搞笑文章
  • 心情日记
  • 英语文章
  • 范文大全
  • 作文大全
  • 新闻阅读
  • 当前位置: 山茶花美文网 > 搞笑文章 > 正文

    JSP上面实现目录压缩 压缩上级目录怎么去掉

    时间:2020-05-28来源:山茶花美文网 本文已影响 山茶花美文网手机站

    zip方法 zipPath参数为保存zip的文件路径 srcPath参数为需要压缩的目录 在linux window上面测试无问题!主要是编码问题比较麻烦~要是有其他异常 请留言 或者 有什么更好的方法 欢迎给更多的意见

    //zip zhe folder

    void zip(String zipPath, String srcPath,javax.servlet.jsp.JspWriter out) throws Exception {

    FileOutputStream output = null;

    ZipOutputStream zipOutput = null;

    try{

    output = new FileOutputStream(zipPath);

    zipOutput = new ZipOutputStream(output);

    zipEntry(zipOutput,srcPath,srcPath,zipPath);

    }catch(Exception e){

    out.print("file zip error");

    }finally{

    if(zipOutput!=null)zipOutput.close();

    }

    out.print("zip ok"+zipPath);

    }

    //add the zip entry

    void zipEntry(ZipOutputStream zipOs, String initPath,String filePath,String zipPath) throws Exception {

    String entryName = filePath;

    File f = new File(filePath);

    if (f.isDirectory()){// ??

    String[] files = f.list();

    for(int i = 0; i < files.length; i++)

    zipEntry(zipOs, initPath, filePath + File.separator + files[i],zipPath);

    return;

    }

    String chPh = initPath.substring(stIndexOf("/") + 1);// ?????

    int idx=stIndexOf(chPh);

    if (idx != -1) {

    entryName = filePath.substring(idx);

    }

    ZipEntry entry;

    entry = new ZipEntry(entryName);

    File ff = new File(filePath);

    if(ff.getAbsolutePath().equals(zipPath))return;

    entry.setSize(ff.length());

    entry.setTime(stModified());

    //the CRC efficacy

    entry.setCrc(0);

    CRC32 crc = new CRC32();

    crc.reset();

    zipOs.putNextEntry(entry);

    int len = 0;

    byte[] buffer = new byte[2048];

    int bufferLen = 2048;

    FileInputStream input =null;

    try{

    input = new FileInputStream(filePath);

    while ((len = input.read(buffer, 0, bufferLen)) != -1) {

    zipOs.write(buffer, 0, len);

    crc.update(buffer, 0, len);

    }

    }catch(Exception e){

    }finally{

    if(input!=null)input.close();

    }

    entry.setCrc(crc.getValue());

    }

    • JSP上面实现目录压缩 压缩上级目录怎么去掉 相关文章:
    • 爱情文章
    • 亲情文章
    • 友情文章
    • 随笔
    • 哲理
    • 励志
    • 范文大全