java.io.File实现批量创建,递归目录查询、删除操作

简介: 今天使用java的File类实现了一个简单的创建多层级多维度的文件目录结构结构如下同时使用递归方法实现了文件的遍历查询和全部删除。(核心思想)判断文件是不是目录,如果是目录就进行递归调用,否则直接进行处理。

今天使用java的File类实现了一个简单的创建多层级多维度的文件目录结构
结构如下
image
同时使用递归方法实现了文件的遍历查询和全部删除。
(核心思想)判断文件是不是目录,如果是目录就进行递归调用,否则直接进行处理。
下面看一下代码吧!

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();
    }
}
相关文章
|
3月前
|
Java Apache 开发者
解决java.lang.IllegalArgumentException: Invalid uri由无效查询引起的问题
最后,当你修改代码以避免这个异常时,保持代码的整洁和可读性同样重要。注释你的代码,用意图清晰的方法名,并确保逻辑简单明了,这样在未来你或其他开发者需要时可以轻松地维护它。
414 20
|
4月前
|
SQL Java 数据库
解决Java Spring Boot应用中MyBatis-Plus查询问题的策略。
保持技能更新是侦探的重要素质。定期回顾最佳实践和新技术。比如,定期查看MyBatis-Plus的更新和社区的最佳做法,这样才能不断提升查询效率和性能。
186 1
|
7月前
|
前端开发 Cloud Native Java
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
|
7月前
|
SQL druid Java
【YashanDB知识库】YashanDB JDBC驱动查询时抛出io fail:Read timed out异常
【YashanDB知识库】YashanDB JDBC驱动查询时抛出io fail:Read timed out异常
|
8月前
|
SQL JavaScript 安全
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
341 11
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
|
7月前
|
SQL druid Java
【YashanDB知识库】YashanDB JDBC驱动查询时抛出io fail:Read timed out异常
【YashanDB知识库】YashanDB JDBC驱动查询时抛出io fail:Read timed out异常
|
9月前
|
SQL NoSQL Java
Java使用sql查询mongodb
通过MongoDB Atlas Data Lake或Apache Drill,可以在Java中使用SQL语法查询MongoDB数据。这两种方法都需要适当的配置和依赖库的支持。希望本文提供的示例和说明能够帮助开发者实现这一目标。
339 17
|
9月前
|
SQL Java 数据库连接
【潜意识Java】MyBatis中的动态SQL灵活、高效的数据库查询以及深度总结
本文详细介绍了MyBatis中的动态SQL功能,涵盖其背景、应用场景及实现方式。
923 6
|
10月前
|
SQL NoSQL Java
Java使用sql查询mongodb
通过使用 MongoDB Connector for BI 和 JDBC,开发者可以在 Java 中使用 SQL 语法查询 MongoDB 数据库。这种方法对于熟悉 SQL 的团队非常有帮助,能够快速实现对 MongoDB 数据的操作。同时,也需要注意到这种方法的性能和功能限制,根据具体应用场景进行选择和优化。
390 9
|
11月前
|
SQL Java
使用java在未知表字段情况下通过sql查询信息
使用java在未知表字段情况下通过sql查询信息
132 8