zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Java 目录操作一(递归创建目录、删除目录、判断目录是否为空、判断文件是否隐藏、获取目录大小、在指定目录中查找文件)

JAVA文件递归 操作 获取 创建 删除 目录
2023-09-11 14:14:47 时间

递归创建目录

import java.io.File;
 
public class Main {
    public static void main(String[] args) {
        String directories = "D:\\a\\b\\c\\d\\e\\f\\g\\h\\i";
        File file = new File(directories);
        boolean result = file.mkdirs();
        System.out.println("Status = " + result);
    }
}

以上代码运行输出结果为:

Status = true

 

删除目录

File 类的 ofdir.isDirectory(), dir.list() 和 deleteDir() 方法在一个个删除文件后删除目录 : 

import java.io.File;
 
public class Main {
    public static void main(String[] argv) throws Exception {
        // 删除当前目录下的 test 目录
        deleteDir(new File("./test"));
    }
    public static boolean deleteDir(File dir) {
        if (dir.isDirectory()) {
            String[] children = dir.list();
            for (int i = 0; i < children.length; i++) {
                boolean success = deleteDir(new File(dir, children[i]));
                if (!success) {
                    return false;
                }
            }
        }
        if(dir.delete()) {
            System.out.println("目录已被删除!");
            return true;
        } else {
            System.out.println("目录删除失败!");
            return false;
        }
    }
}

以上代码运行输出结果为:

目录已被删除!

 

判断目录是否为空

import java.io.File;
 
public class Main
{
    public static void main(String[] args)
    {
        File file = new File("./testdir");  // 当前目录下的 testdir目录
        if(file.isDirectory()){
            if(file.list().length>0){
                System.out.println("目录不为空!");
            }else{
                System.out.println("目录为空!");
            }
        }else{
            System.out.println("这不是一个目录!");
        }
    }
}

以上代码运行输出结果为:

目录 D://Java/file.txt 不为空!

 

判断文件是否隐藏

import java.io.File;
 
public class Main {
    public static void main(String[] args) {
        File file = new File("C:/Demo.txt");
        System.out.println(file.isHidden());
    }
}

以上代码运行输出结果为(Demo.txt为隐藏文件):

True

 

获取目录大小

import java.io.File;
import org.apache.commons.io.FileUtils;
 
public class Main {
    public static void main(String[] args) {
        long size = FileUtils.sizeOfDirectory(new File("C:/test"));
        System.out.println("Size: " + size + " bytes");
    }
}

以上代码运行输出结果为:

Size: 2048 bytes

 

在指定目录中查找文件

import java.io.File;
 
public class Main {
    public static void main(String[] argv) throws Exception {
        File dir = new File("../java");
        String[] children = dir.list();
        if (children == null) {
            System.out.println("该目录不存在");
        }
        else {
            for (int i = 0; i < children.length; i++) {
                String filename = children[i];
                System.out.println(filename);
            }
        }
    }
}

以上代码运行输出结果为:

Car.class
FileUtil.class
FileUtil.java
HelloWorld.class
HelloWorld.java
HelloWorldDebug.class
HelloWorldDebug.java
……