java 20 -3 递归之删除特定目录下的特定文件
/*
需求:删除H:\demo目录下的带内容的文件
分析:
A:封装该目录
B:获取该目录下所有的文件或文件夹的File数组
C:遍历该File数组,获取每一个File对象
D:判断所遍历的FIle对象
是否是文件夹
是:返回步骤B
不是:判断里面是否有内容
有:删除
不是:不理
B-D设为递归方法:
返回类型;void
参数列表:File xxx
出口:文件里面有内容
*/
package zl_DiGui; import java.io.File; public class FileDeleteDemo { public static void main(String[] args) { //封装该目录
File allfile = new File("H:\\demo"); //调用递归
deletefile(allfile);
} //递归方法
private static void deletefile(File allfile) {
//获取该目录下的所有文件或文件夹的File数组
File[] arrayfile = allfile.listFiles(); //遍历该数组,获取每一个File对象
for(File file : arrayfile){
//判断是否是文件夹
if(file.isDirectory()){
//是的话,返回步骤B
deletefile(file);
}
else{
//不是,就判断是否为空文件
long l = file.length();
if(l != 0 ){
file.delete();
}
//如果是空文件的话,就输出它的名称和绝对路径
else{
System.out.println(file.getName()+"\t"+file.getAbsolutePath());
/*
a.txt H:\demo\a.txt
地方.mp3 H:\demo\地方.mp3
斯蒂芬撒.avi H:\demo\撒旦发射的\斯蒂芬撒.avi
*/
}
}
} } }
java 20 -3 递归之删除特定目录下的特定文件的更多相关文章
- python 删除一个目录下的所有文件
一个目录下有文件,文件夹,文件夹里又有文件.文件夹....用python脚本,实现,递归删除一个目录下的所有文件: 目录结构如下: 其中我们要删除所有文件 代码实现如下: import os CUR_ ...
- C# 删除指定目录下的所有文件及文件夹
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Tex ...
- [No000073]C#直接删除指定目录下的所有文件及文件夹(保留目录)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- linux面试题:删除一个目录下的所有文件,但保留一个指定文件
面试题:删除一个目录下的所有文件,但保留一个指定文件 解答: 假设这个目录是/xx/,里面有file1,file2,file3..file10 十个文件 [root@oldboy xx]# touch ...
- SVN 删除所有目录下的“.svn”文件夹,让文件夹脱离SVN控制
SVN 删除所有目录下的“.svn”文件夹,将如下语句拷备到记事本,并保存为 *.reg,双击导入注册表,在文件夹右键中就多了一条“Delete SVN Folders”,点击就可以删处此目录下的所有 ...
- C#直接删除指定目录下的所有文件及文件夹(保留目录)
#region 直接删除指定目录下的所有文件及文件夹(保留目录) /// <summary> /// 直接删除指定目录下的所有文件及文件夹(保留目录) /// </summary&g ...
- Linux:删除一个目录下的所有文件,但保留一个指定文件
面试题:删除一个目录下的所有文件,但保留一个指定文件 解答: 假设这个目录是/xx/,里面有file1,file2,file3..file10 十个文件 [root@oldboy xx]# touc ...
- java 20 -2 递归之找特定目录下的特定格式文件
/* 需求:把C:\Users\Administrator\Desktop\记录目录下所有以.java结尾的文件的绝对路径输出到控制台 分析: A:封装该目录 B:获取该目录下的所有文件或文件夹的Fi ...
- PHP删除一个目录下的所有文件,不删除文件夹
/*删除指定目录下的文件,不删除目录文件夹*/ function delFile($dirName){ if(file_exists($dirName) && $handle=open ...
随机推荐
- Android:TextView 自动滚动(跑马灯) (转)
Android:TextView 自动滚动(跑马灯) TextView实现文字滚动需要以下几个要点: 1.文字长度长于可显示范围:android:singleLine="true ...
- jQuery UI resizble、draggable的div包含iframe导致缩放和拖拽的不平滑解决方法
前言 不仅仅是jQuery UI resizble的div包含iframe会导致缩放的不平滑,draggable也会出现包含iframe会导致拖放的不平滑,但是因为jQuery UI有为draggab ...
- SharePoint 服务器端对象模型 之 使用LINQ进行数据访问操作(Part 2)
(四)使用LINQ进行列表查询 在生成实体类之后,就可以利用LINQ的强大查询能力进行SharePoint列表数据的查询了.在传统SharePoint对象模型编程中,需要首先获取网站对象,再进行其他操 ...
- R Graphics Cookbook 第3章 – Bar Graphs
3.1 基本条形图 library(ggplot2) library(gcookbook) pg_mean #这是用到的数据 group weight 1 ctrl 5.032 2 tr ...
- JSP--JavaBean
JSP 最强有力的一个方面就是能够使用 JavaBean 组件. 按照 Sun 公司的定义, JavaBean是一个可重复使用的软件组件.实际上 JavaBean 是一种 Java 类,通过封装属性和 ...
- OC中代理的使用
通常代理的使用需要以下几个步骤: 1.制定协议.协议可以在委托对象的.h中声明,也可以在单独的.h中声明.制定协议后,在协议中声明需要代理对象来实现的方法. 2.设置代理属性.制定协议后需要为委托对象 ...
- 解决Android SDK Manager 更新、下载慢以及待安装包列表不显示
参考地址:http://www.cnblogs.com/tc310/archive/2012/12/21/2828450.html 问题描述: Android SDK Manager 无法下载更新,或 ...
- 【AdaBoost算法】强分类器训练过程
一.强分类器训练过程 算法原理如下(参考自VIOLA P, JONES M. Robust real time object detection[A] . 8th IEEE International ...
- find locate
locate执行前先 updatedb 然后locate vstore 就可以了 find 加 -name 比如 find -name vstore 按理说 locate要快点,毕竟是数据库嘛 一:l ...
- 传递给后台的Json数据解析
后台代码如下: public void ProcessRequest(HttpContext context) { context.Response.ContentType = "appli ...