您的位置 首页 > 数码极客

zip命令如何排除某个路径

前言

最近用java写一个工具,要删除某个zip文件下指定目录。在内置API没有找到,后来在网上找到一篇关于zip4j的使用,里面有讲解zip4j删除指定目录。但是测试发现,有些问题,无法直接获取目录的FileHeader。后来自己改编了下,代码如下。


  1. public static void removeDirFromZipArchive(String file, String removeDir) throws ZipException {
  2. // 创建ZipFile并设置编码
  3. net.lingala.zi zipFile zipFile = new net.lingala.zi(file);
  4. zi("gbk");//字符集根据环境更换
  5. removeDir += "/";
  6. // 遍历压缩文件中所有的FileHeader, 将指定删除目录下的子文件名保存起来
  7. @SuppressWarnings("unchecked")
  8. List<FileHeader> headersList = zi();
  9. ArrayList<String> removeHeaderNames = new ArrayList<String>();
  10. for (FileHeader subHeader : headersList) {
  11. String subHeaderName = ();
  12. if (removeDir)
  13. && !(removeDir)) {
  14. removeHeaderNames.add(subHeaderName);
  15. }
  16. }
  17. // 遍历删除指定目录下的所有子文件, 最后删除指定目录(此时已为空目录)
  18. for (String headerNameString : removeHeaderNames) {
  19. zi(headerNameString);
  20. }
  21. //zi(removeDir);

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“zip命令如何排除某个路径”边界阅读