java.io.File实现批量创建,递归目录查询、删除操作
今天使用java的File类实现了一个简单的创建多层级多维度的文件目录结构
结构如下
同时使用递归方法实现了文件的遍历查询和全部删除。
(核心思想)判断文件是不是目录,如果是目录就进行递归调用,否则直接进行处理。
下面看一下代码吧!
import java.io.File;
import java.io.IOException;
/**
*
* @author jjking
* @version v1.0
*
* 创建时间: 2019年8月28日 下午3:10:27
*
*/
public class ClassWork01 {
static final int NUM = 10;
/**
* 创建文件夹
* @param path 要创建的路径
*/
public static void createFilesAndDirs(String path) {
File file = new File(path);
file.mkdir();
for (int i = 0; i < NUM; i++) {
File file0 = new File(path +"\\"+ i);
File file1 = new File(path + "\\" + i + ".txt");
try {
file1.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
file0.mkdir();
for (int j = 0; j < NUM; j++) {
File f = new File(path + "\\" + i + "\\" + j);
File f1 = new File(path +"\\" + i + "\\" + j + ".txt");
f.mkdir();
try {
f1.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
/**
* 递归查看文件和目录
*
* @param path
*/
public static void showAllFilesAndDirs(String path) {
File file = new File(path);
File[] files = file.listFiles();
for (File file2 : files) {
if (file2.isDirectory()) {
System.out.println("目录》》》" + file2);
showAllFilesAndDirs(file2.toString());
} else {
System.out.println("文件》》》" + file2);
}
}
}
/**
* 递归删除指定位置内部文件
*
* @param path
*/
public static void deleteAllInnerFilesAndDirs(String path) {
File file = new File(path);
File[] listFiles = file.listFiles();
for (File f : listFiles) {
if (f.isFile()) {
f.delete();
} else {
deleteAllFilesAndDirs(f.toString());
f.delete();
}
}
System.out.println("删除完成!");
}
/**
* 删除指定位置的所有文件
*
* @param path
*/
public static void deleteAllFilesAndDirs(String path) {
deleteAllInnerFilesAndDirs(path);
File file = new File(path);
file.delete();
}
}

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
TensorFlow安装部署
1.环境依赖 Centos7 组件 版本 Python 2.7.5 TensorFlow 0.14.0 pyhton依赖库 Package Version -------------------- --------- absl-py 0.8.0 astor 0.8.0 backports.weakref 1.0.post1 enum34 1.1.6 funcsigs 1.0.2 futures 3.3.0 gast 0.2.2 google-pasta 0.1.7 grpcio 1.23.0 h5py 2.9.0 Keras-Applications 1.0.8 Keras-Preprocessing 1.1.0 Markdown 3.1.1 mock 3.0.5 numpy 1.16.5 pip 19.2.3 protobuf 3.9.1 setuptools 41.2.0 six 1.12.0 tensorboard 1.14.0 tensorflow 1.14.0 tensorflow-estimator 1.14.0 termcolor 1.1.0 Werkzeug 0.15....
-
下一篇
Java描述设计模式(04):抽象工厂模式
GitHub地址:https://github.com/cicadasmile/model-arithmetic-parent 一、抽象工厂模式 1、生活场景 汽车生产根据用户选择的汽车类型,指定不同的工厂进行生产,选择红旗轿车,就要使用中国工厂,选择奥迪轿车,就要使用德国工厂。 2、抽象工厂模式 1) 抽象工厂模式:定义了一个interface用于创建相关对象或相互依赖的对象,而无需指明具体的类;2) 抽象工厂模式可以将简单工厂模式和工厂方法模式进行整合;3) 从设计层面看,抽象工厂模式就是对简单工厂模式的改进(或者称为进一步的抽象)。4) 将工厂抽象成两层,AbstractFactory(抽象工厂) 和 具体实现的工厂子类,方便程序扩展。 3、代码UML图 4、源代码实现 /** * 抽象工厂模式 */ public class C01_AbstractFactory { public static void main(String[] args) { CarProductFactory factory = new ChinaCarFactory() ; factory.getCa...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- 2048小游戏-低调大师作品
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2整合Redis,开启缓存,提高访问速度
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音