com.xiaoleilu.hutool.util.ZipUtil.validateFiles()方法的使用及代码示例

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

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

ZipUtil.validateFiles介绍

[英]判断压缩文件保存的路径是否为源文件路径的子文件夹,如果是,则抛出异常(防止无限递归压缩的发生)
[中]判断压缩文件保存的路径是否为源文件路径的子文件夹,如果是,则抛出异常(防止无限递归压缩的发生)

代码示例

代码示例来源: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-core

validateFiles(zipFile, srcFiles);

相关文章

微信公众号

最新文章

更多