java IO之File类

本文深入解析Java中File类的使用方法,包括构造函数、创建文件与目录、文件操作等核心功能。同时,介绍了文件过滤器接口及其实现,帮助开发者更高效地管理和筛选文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

FIle

  1. 文件 file
  2. 目录 directory
  3. 路径 path
FIle类的构造函数与差异
  1. File(String pathname)
    通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。

  2. File(String parent, String child)
    根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。

 public static void func1() throws IOException {
        // 通过字符串创建文件对象
        File file=new File("D://a.txt");
        boolean newFile = file.createNewFile();
        System.out.println(newFile);
    }

    public static void func2() throws IOException {
        // 通过字符串创建文件对象
        File file=new File("D://123","abc.txt");
        boolean newFile = file.createNewFile();
        System.out.println(newFile);
    }
    public static void func3() throws IOException {
        // 通过字符串创建文件对象
        File parent=new File("D://1234");
        if (!parent.exists()){
            parent.createNewFile();
        }
        File file=new File(parent,"abc.txt");
        boolean newFile = file.createNewFile();
        System.out.println(newFile);
    }

创建文件与文件夹

file.createNewFile()  	//创建文件
mkdir()创建文件夹
mkdirs()创建多层文件夹
delete()删除文件或目录
length()获取文件的字节数
isDirectory()判断是否为文件夹
isFile()判断是否为文件
文件过滤器接口
  1. FileFilter
    通过文件对象设置过滤规则,例如是否文件/目录
  2. FilenameFilter
    通过重写accept(File dir, String name) 方法实现过滤规则,例如name.endWidth(".txt")【以txt结尾的文件】
public class MyFileFilter implements FileFilter {
    @Override
    public boolean accept(File pathname) {
        return pathname.isFile();
    }
}

public class MyFIleNameFilter implements FilenameFilter {
    @Override
    public boolean accept(File dir, String name) {
        return  name.contains("abc");
    }
}


    // 获取文件夹下指定后缀的文件
    public static void getAppointedFile(){
        FilenameFilter filenameFilter=new MyFIleNameFilter();
        File file=new File("d://123");
        File[] files = file.listFiles(filenameFilter);
        for(File temp:files){
            System.out.println(temp);
        }
    }
 // 根据目录下是否是文件过滤文件
    public static void getIsFile(){
        FileFilter fileFilter=new MyFileFilter();
        File dir=new File("d://123");
        File[] files = dir.listFiles(fileFilter);
        for(File file:files)
            System.out.println(file);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值