ZIP文件压缩

2019-08-16 12:13:42来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

ZIP文件压缩

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

/***
* 将附件中的文件压缩
*
* @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;
}


原文链接:https://www.cnblogs.com/flyingPiglet/p/11325988.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:我要进大厂!

下一篇:SSM实现mysql数据库账号密码加密连接