当前位置: 首页 > news >正文

Java版本的删除指定目录及子目录下名叫“xxx.txt”的所有文件

以前写过一个python版本的,但是在查找文件路径的时候出现错误,无法正确的获取到文件的路径,就造成无法删除该路径下的“xxx.txt”文件。

当时以为是windows版本系统的错误造成这个问题的,也就没有继续深究,就把这个bug给放过了。

最近一段时间在学习android,肯定要用的java了,就用java实现了下,思路的话,肯定还是以前的了,结果还是出错,后来仔细的看了看代码,其实是自己的bug。

把代码贴下:(主要功能,删除指定目录下名叫"pylist.txt"的所有文件,使用递归和File类)

版本1.使用file.list()获取到文件列表

 1 public class Example826 {
 2     /**
 3      * @param args
 4      *            删除指定目录和子目录下的指定文件
 5      */
 6     public static void main(String[] args) {
 7         String dir = "D:\\PCsync\\python";
 8         circleMethod(dir);
 9     }
10 
11     private static void circleMethod(String dirPath) {
12         File file = new File(dirPath);
13         if (file.isDirectory()) {
14             String[] dirPathList = file.list();
15             for (int i = 0; i < dirPathList.length; i++) {
16                 String filePath = dirPath + File.separator + dirPathList[i];
17                 File fileDelete = new File(filePath);
18                 if (fileDelete.getName().equals("result.txt")) {
19                     fileDelete.delete();
20                 }
21                 circleMethod(filePath);
22             }
23         }
24     }
25 
26 }

 

 版本2.使用file.listFiles()获取所有子目录和文件

 1 public class Example826002 {
 2 
 3     /**
 4      * @param args
 5      *            删除指定目录和子目录下的的指定文件
 6      */
 7     public static void main(String[] args) {
 8         // TODO Auto-generated method stub
 9         String dir = "D:\\PCsync\\python";
10         File file = new File(dir);
11         circleMethod(file);
12 
13     }
14 
15     private static void circleMethod(File dir) {
16 
17         if (dir.isDirectory()) {
18             File[] fileList = dir.listFiles();
19             for (int i = 0; i < fileList.length; i++) {
20                 circleMethod(fileList[i]);
21             }
22         } else {
23 
24             if (dir.getName().equals("xxx.txt")) {
25                 System.out.println("文件名:" + dir.getAbsolutePath());
26                 dir.delete();
27                 System.out.println("该文件删除成功");
28             }
29         }
30 
31     }
32 
33 }

 

相关文章:

  • PostgreSQL通过pg_upgrade进行大版本升级
  • MyBatis——动态SQL
  • 南阳483--Nightmare(Bfs)
  • 系统启动流程
  • 8-30 文件查找命令find使用说明和练习
  • hdu1213 并查集
  • 如何禁用/恢复mac的spotlight
  • Jquery 控件
  • MATLAB — axis
  • druid 数据源 使用属性文件的一个坑
  • ASP Request.ServerVariables 参数集
  • [Linux]history 显示命令的运行时间
  • 《vi中的替换艺术》-linux命令五分钟系列之十一
  • Chromium Graphics: GPUclient的原理和实现分析之间的同步机制-Part I
  • 关联引用
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • 2017年终总结、随想
  • 345-反转字符串中的元音字母
  • Codepen 每日精选(2018-3-25)
  • es6
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • Vue官网教程学习过程中值得记录的一些事情
  • vue自定义指令实现v-tap插件
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 检测对象或数组
  • 如何设计一个微型分布式架构?
  • 深入浅出webpack学习(1)--核心概念
  • 算法系列——算法入门之递归分而治之思想的实现
  • 微信小程序:实现悬浮返回和分享按钮
  • 一个项目push到多个远程Git仓库
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • ​ssh免密码登录设置及问题总结
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • #include
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (2)(2.10) LTM telemetry
  • (3)选择元素——(17)练习(Exercises)
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (分布式缓存)Redis分片集群
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (转)Scala的“=”符号简介
  • (转载)深入super,看Python如何解决钻石继承难题
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .NET 设计一套高性能的弱事件机制
  • // an array of int
  • @AliasFor注解
  • @configuration注解_2w字长文给你讲透了配置类为什么要添加 @Configuration注解
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录