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

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

本文整理了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

  1. /**
  2. * 对文件或文件目录进行压缩<br>
  3. *
  4. * @param zipFile 生成的Zip文件,包括文件名。注意:zipPath不能是srcPath路径下的子文件夹
  5. * @param withSrcDir 是否包含被打包目录
  6. * @param srcFiles 要压缩的源文件或目录。如果压缩一个文件,则为该文件的全路径;如果压缩一个目录,则为该目录的顶层目录路径
  7. * @throws IOException
  8. */
  9. public static void zip(File zipFile, boolean withSrcDir, File... srcFiles) throws IOException {
  10. validateFiles(zipFile, srcFiles);
  11. ZipOutputStream out = null;
  12. try {
  13. out = new ZipOutputStream(new CheckedOutputStream(FileUtil.getOutputStream(zipFile), new CRC32()));
  14. for (File srcFile : srcFiles) {
  15. // 如果只是压缩一个文件,则需要截取该文件的父目录
  16. String srcRootDir = srcFile.getCanonicalPath();
  17. if (srcFile.isFile() || withSrcDir) {
  18. srcRootDir = srcFile.getParent();
  19. }
  20. // 调用递归压缩方法进行目录或文件压缩
  21. zip(out, srcRootDir, srcFile);
  22. out.flush();
  23. }
  24. } catch (IOException e) {
  25. throw e;
  26. } finally {
  27. IoUtil.close(out);
  28. }
  29. }

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

  1. validateFiles(zipFile, srcFiles);

相关文章