com.xiaoleilu.hutool.util.ZipUtil类的使用及代码示例

x33g5p2x  于2022-02-05 转载在 其他  
字(5.9k)|赞(0)|评价(0)|浏览(682)

本文整理了Java中com.xiaoleilu.hutool.util.ZipUtil类的一些代码示例,展示了ZipUtil类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZipUtil类的具体详情如下:
包路径:com.xiaoleilu.hutool.util.ZipUtil
类名称:ZipUtil

ZipUtil介绍

[英]压缩工具类
[中]压缩工具类

代码示例

代码示例来源:origin: com.xiaoleilu/hutool-core

/**
 * 解压到文件名相同的目录中,默认编码UTF-8
 * 
 * @param zipFilePath 压缩文件路径
 * @return 解压的目录
 * @throws UtilException IO异常
 */
public static File unzip(String zipFilePath) throws UtilException {
  return unzip(zipFilePath, DEFAULT_CHARSET);
}

代码示例来源:origin: com.xiaoleilu/hutool-core

/**
 * 打包到当前目录,使用默认编码UTF-8
 * 
 * @param srcPath 源文件路径
 * @return 打包好的压缩文件
 * @throws UtilException IO异常
 */
public static File zip(String srcPath) throws UtilException {
  return zip(srcPath, DEFAULT_CHARSET);
}

代码示例来源:origin: com.xiaoleilu/hutool-core

validateFiles(zipFile, srcFiles);
  out = getZipOutputStream(zipFile, charset);
  for (File srcFile : srcFiles) {
    zip(srcFile, srcRootDir, out);
    out.flush();

代码示例来源:origin: com.xiaoleilu/hutool

/**
 * 对文件或文件目录进行压缩<br>
 * 
 * @param zipFile 生成的Zip文件,包括文件名。注意:zipPath不能是srcPath路径下的子文件夹
 * @param withSrcDir 是否包含被打包目录
 * @param srcFiles 要压缩的源文件或目录。如果压缩一个文件,则为该文件的全路径;如果压缩一个目录,则为该目录的顶层目录路径
 * @throws IOException
 */
public static void zip(File zipFile, boolean withSrcDir, File... srcFiles) throws IOException {
  validateFiles(zipFile, srcFiles);
  ZipOutputStream out = null;
  try {
    out = new ZipOutputStream(new CheckedOutputStream(FileUtil.getOutputStream(zipFile), new CRC32()));
    for (File srcFile : srcFiles) {
      // 如果只是压缩一个文件,则需要截取该文件的父目录
      String srcRootDir = srcFile.getCanonicalPath();
      if (srcFile.isFile() || withSrcDir) {
        srcRootDir = srcFile.getParent();
      }
      // 调用递归压缩方法进行目录或文件压缩
      zip(out, srcRootDir, srcFile);
      out.flush();
    }
  } catch (IOException e) {
    throw e;
  } finally {
    IoUtil.close(out);
  }
}

代码示例来源:origin: com.xiaoleilu/hutool

} finally {
  IoUtil.close(in);
  closeEntry(out);
  zip(out, srcRootDir, childFile);

代码示例来源:origin: com.xiaoleilu/hutool-core

if(StrUtil.isNotEmpty(subPath)) {
  zipDir(subPath, out);
  zip(childFile, srcRootDir, out);
try {
  in = FileUtil.getInputStream(file);
  zip(in, subPath, out);
} finally {
  IoUtil.close(in);

代码示例来源:origin: com.xiaoleilu/hutool-core

out = getZipOutputStream(zipFile, charset);
for(int i = 0; i < paths.length; i++) {
  zip(ins[i], paths[i], out);

代码示例来源:origin: com.xiaoleilu/hutool

/**
 * Gzip解压缩处理
 * 
 * @param buf 压缩过的字节流
 * @param charset 编码
 * @return 解压后的字符串
 * @throws IOException
 */
public static String unGzip(byte[] buf, String charset) throws IOException {
  return StrUtil.str(unGzip(buf), charset);
}

代码示例来源:origin: com.xiaoleilu/hutool-core

/**
 * Gzip压缩处理
 * 
 * @param content 被压缩的字符串
 * @param charset 编码
 * @return 压缩后的字节流
 * @throws UtilException IO异常
 */
public static byte[] gzip(String content, String charset) throws UtilException {
  return gzip(StrUtil.bytes(content, charset));
}

代码示例来源:origin: com.xiaoleilu/hutool-core

/**
 * 压缩一个目录到Zip
 * 
 * @param path 压缩的路径
 * @param out 压缩文件存储对象
 * @throws UtilException IO异常
 */
private static void zipDir(String path, ZipOutputStream out) throws UtilException {
  path = StrUtil.addSuffixIfNot(path, StrUtil.SLASH);
  try {
    out.putNextEntry(new ZipEntry(path));
  } catch (IOException e) {
    throw new UtilException(e);
  } finally {
    closeEntry(out);
  }
}

代码示例来源:origin: com.xiaoleilu/hutool

/**
 * 解压
 * 
 * @param zipFile zip文件
 * @param outFile 解压到的目录
 * @return 解压的目录
 * @throws IOException
 */
@SuppressWarnings("unchecked")
public static File unzip(File zipFile, File outFile) throws IOException {
  final ZipFile zipFileObj = new ZipFile(zipFile);
  final Enumeration<ZipEntry> em = (Enumeration<ZipEntry>) zipFileObj.entries();
  ZipEntry zipEntry = null;
  File outItemFile = null;
  while (em.hasMoreElements()) {
    zipEntry = em.nextElement();
    outItemFile = new File(outFile, zipEntry.getName());
    log.debug("UNZIP {}", outItemFile.getPath());
    if (zipEntry.isDirectory()) {
      outItemFile.mkdirs();
    } else {
      FileUtil.touch(outItemFile);
      copy(zipFileObj, zipEntry, outItemFile);
    }
  }
  IoUtil.close(zipFileObj);
  return outFile;
}

代码示例来源:origin: com.xiaoleilu/hutool-core

/**
 * 获得 {@link ZipOutputStream}
 * 
 * @param zipFile 压缩文件
 * @param charset 编码
 * @return {@link ZipOutputStream}
 */
private static ZipOutputStream getZipOutputStream(File zipFile, Charset charset) {
  return getZipOutputStream(FileUtil.getOutputStream(zipFile), charset);
}

代码示例来源:origin: com.xiaoleilu/hutool-core

/**
 * Gzip解压缩处理
 * 
 * @param buf 压缩过的字节流
 * @param charset 编码
 * @return 解压后的字符串
 * @throws UtilException IO异常
 */
public static String unGzip(byte[] buf, String charset) throws UtilException {
  return StrUtil.str(unGzip(buf), charset);
}

代码示例来源:origin: com.xiaoleilu/hutool

/**
 * Gzip压缩处理
 * 
 * @param content 被压缩的字符串
 * @param charset 编码
 * @return 压缩后的字节流
 * @throws IOException
 */
public static byte[] gzip(String content, String charset) throws IOException {
  return gzip(StrUtil.bytes(content, charset));
}

代码示例来源:origin: com.xiaoleilu/hutool-core

/**
 * 递归压缩流中的数据,不关闭输入流
 * 
 * @param in 需要压缩的输入流
 * @param path 压缩的路径
 * @param out 压缩文件存储对象
 * @throws UtilException IO异常
 */
private static void zip(InputStream in, String path, ZipOutputStream out) throws UtilException {
  if(null == in) {
    return;
  }
  try {
    out.putNextEntry(new ZipEntry(path));
    IoUtil.copy(in, out);
  } catch (IOException e) {
    throw new UtilException(e);
  } finally {
    closeEntry(out);
  }
}

代码示例来源:origin: com.xiaoleilu/hutool-core

} else {
  FileUtil.touch(outItemFile);
  copy(zipFileObj, zipEntry, outItemFile);

代码示例来源:origin: com.xiaoleilu/hutool-core

/**
 * 打包到当前目录,使用默认编码UTF-8
 * 
 * @param srcFile 源文件或目录
 * @return 打包好的压缩文件
 * @throws UtilException IO异常
 */
public static File zip(File srcFile) throws UtilException {
  return zip(srcFile, DEFAULT_CHARSET);
}

代码示例来源:origin: com.xiaoleilu/hutool-core

/**
 * 解压,默认使用UTF-8编码
 * 
 * @param zipFile zip文件
 * @param outFile 解压到的目录
 * @return 解压的目录
 * @throws UtilException IO异常
 */
public static File unzip(File zipFile, File outFile) throws UtilException {
  return unzip(zipFile, outFile, DEFAULT_CHARSET);
}

代码示例来源:origin: com.xiaoleilu/hutool-core

/**
 * 对文件或文件目录进行压缩<br>
 * 使用默认UTF-8编码
 * 
 * @param zipFile 生成的Zip文件,包括文件名。注意:zipPath不能是srcPath路径下的子文件夹
 * @param withSrcDir 是否包含被打包目录
 * @param srcFiles 要压缩的源文件或目录。如果压缩一个文件,则为该文件的全路径;如果压缩一个目录,则为该目录的顶层目录路径
 * @return 压缩文件
 * @throws UtilException IO异常
 */
public static File zip(File zipFile, boolean withSrcDir, File... srcFiles) throws UtilException {
  return zip(zipFile, DEFAULT_CHARSET, withSrcDir, srcFiles);
}

代码示例来源:origin: com.xiaoleilu/hutool-core

/**
 * 解压到文件名相同的目录中,使用UTF-8编码
 * 
 * @param zipFile 压缩文件
 * @return 解压的目录
 * @throws UtilException IO异常
 * @since 3.2.2
 */
public static File unzip(File zipFile) throws UtilException {
  return unzip(zipFile, DEFAULT_CHARSET);
}

相关文章

微信公众号

最新文章

更多