当前位置: 移动技术网 > IT编程>开发语言>Java > ZIP文件压缩

ZIP文件压缩

2019年08月09日  | 移动技术网IT编程  | 我要评论

在开发过程中遇到一个小需求,将附件中的文件进行压缩,压缩文件以前没怎么接触过,记录下,直接上代码:

/***
* 将附件中的文件压缩
*
* @param filemap
压缩前的文件
* @return map<string,byte[]>
压缩后的文件
*/
private map<string,byte[]> filescompressionzip(map<string,byte[]> filemap){
  map<string,byte[]> map = new hashmap();
  bytearrayoutputstream bos = new bytearrayoutputstream();
  zipoutputstream zip = new zipoutputstream(bos);
  try{
    zipentry entry = null;
    for(map.entry<string,byte[]> en: filemap.entryset()){
    entry = new zipentry(en.getkey());
    entry.setsize(en.getvalue().length);
    zip.putnextentry(entry);
    zip.write(en.getvalue());
  }
  }catch(excepriton e){
    logger.error(e.getmessage(),e);
  }finally{
  try{
    zip.closeentry();
   }catch(ioexcepriton e){
    logger.error(e.getmessage(),e);
  }
  try{
    zip.close();
  }catch(ioexcepriton e){
    logger.error(e.getmessage(),e);
  }
  try{
    bos.close();
  }catch(ioexcepriton e){
    logger.error(e.getmessage(),e);
  }
  }
  map.put(system.currenttimemillis()+".zip",bos.tobytearray());
  return map;
}

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网