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();
    }
}
相关文章
|
2天前
|
SQL NoSQL Java
Java使用sql查询mongodb
通过使用 MongoDB Connector for BI 和 JDBC,开发者可以在 Java 中使用 SQL 语法查询 MongoDB 数据库。这种方法对于熟悉 SQL 的团队非常有帮助,能够快速实现对 MongoDB 数据的操作。同时,也需要注意到这种方法的性能和功能限制,根据具体应用场景进行选择和优化。
24 9
|
29天前
|
SQL Java
使用java在未知表字段情况下通过sql查询信息
使用java在未知表字段情况下通过sql查询信息
36 8
|
1月前
|
分布式计算 Java Hadoop
linux中HADOOP_HOME和JAVA_HOME删除后依然指向旧目录
通过以上步骤,可以有效地解决 `HADOOP_HOME`和 `JAVA_HOME`删除后依然指向旧目录的问题。确保在所有相关的配置文件中正确设置和删除环境变量,并刷新当前会话,使更改生效。通过这些措施,能够确保系统环境变量的正确性和一致性。
31 1
|
1月前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
846 2
|
2月前
|
SQL Java 关系型数据库
java连接mysql查询数据(基础版,无框架)
【10月更文挑战第12天】该示例展示了如何使用Java通过JDBC连接MySQL数据库并查询数据。首先在项目中引入`mysql-connector-java`依赖,然后通过`JdbcUtil`类中的`main`方法实现数据库连接、执行SQL查询及结果处理,最后关闭相关资源。
188 6
|
3月前
|
Java
java基础(11)函数重载以及函数递归求和
Java支持函数重载,即在同一个类中可以声明多个同名方法,只要它们的参数类型和个数不同。函数重载与修饰符、返回值无关,但与参数的类型、个数、顺序有关。此外,文中还展示了如何使用递归方法`sum`来计算两个数之间的和,递归的终止条件是当第一个参数大于第二个参数时。
35 1
java基础(11)函数重载以及函数递归求和
|
2月前
|
搜索推荐 索引
【文件IO】实现:查找文件并删除、文件复制、递归遍历目录查找文件
【文件IO】实现:查找文件并删除、文件复制、递归遍历目录查找文件
50 2
|
2月前
|
缓存 Java 数据处理
java查询大量数据优化
通过结合的高性能云服务,如其提供的弹性计算资源与全球加速网络,可以进一步增强这些优化策略的效果,确保数据处理环节更加迅速、可靠。蓝易云不仅提供稳定的基础架构,还拥有强大的安全防护和灵活的服务选项,是优化大型数据处理项目不可或缺的合作伙伴。
45 0
|
3月前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
215 5
|
3月前
|
SQL Java
使用java在未知表字段情况下通过sql查询信息
使用java在未知表字段情况下通过sql查询信息
40 1