Java File类

使用File类可在Java中对硬盘中文件或目录完成一系列操作,包括创建、删除等。

创建File类

在对文件或目录进行操作之前,需要用该文件或目录的路径创建一个File类。

方法说明
File(String   pathname)通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例
File(String   parent, String child)从父路径名字符串和子路径名字符串创建新的   File实例
File(File   parent, String child)从父抽象路径名和子路径名字符串创建新的   File实例

创建文件或目录

方法说明
public boolean createNewFile()

创建一个新的空的文件

public boolean mkdir()

创建一个单级文件夹

public boolean mkdirs()

创建一个多级文件夹

删除文件或目录

方法说明

public boolean delete​()

删除由此抽象路径名表示的文件或目录

删除目录:此目录下没有子目录和文件才能删除

判断和获取

方法说明

public boolean isDirectory()

判断此抽象路径名表示的File是否为目录

public boolean isFile()

判断此抽象路径名表示的File是否为文件

public boolean exists()

判断此抽象路径名表示的File是否存在

public String getAbsolutePath()

返回此抽象路径名的绝对路径名字符串

public String getPath()

将此抽象路径名转换为路径名字符串

public String getName()

返回由此抽象路径名表示的文件或目录的名称

public File[] listFiles()

返回此抽象路径名表示的目录中的文件和目录的File对象数组,隐藏文件也能获得

示例

统计某个目录下文件路径

    public static Map<String, Integer> count(File file) {
        Map<String, Integer> map = new HashMap<>();
        File[] children = file.listFiles();
        assert children != null;
        for (File child : children) {
            if (child.isDirectory()) {
                map.merge("directory", 1, Integer::sum);
            } else {
                String[] key = child.getName().split("\\.");
                map.merge(key[key.length - 1], 1, Integer::sum);
            }
        }
        return map;
    }

删除目录或文件

    public static void delete(File file) {
        if (file.isFile()){
            deleteFile(file);
            return;
        }
        File[] children = file.listFiles();
        if (children==null){
            System.out.println("目录不存在或没有权限");
            return;
        }
        for (File child : children) {
            if (child.isDirectory()) {
                delete(child);
            } else {
                deleteFile(child);
            }
        }
        if (file.delete()) {
            System.out.println(file.getAbsoluteFile() + "------------目录删除成功");
        } else {
            System.out.println(file.getAbsoluteFile() + "------------目录删除失败");
        }
    }
    public static void deleteFile(File file){
        if (file.delete()) {
            System.out.println(file.getAbsoluteFile() + "------------文件删除成功");
        } else {
            System.out.println(file.getAbsoluteFile() + "------------文件删除失败");
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值