File类

File类:
java.io包,是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。
构造方法
1.public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。
2.public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例。
3.public File(File parent, String child) :从父抽象路径名和子路径名字符串创建新的 File实例。
成员方法
1.public String getAbsolutePath() :返回此File的绝对路径名字符串。
2.public String getPath() :将此File转换为路径名字符串。
3.public String getName() :返回由此File表示的文件或目录的名称。
4.public long length() :返回由此File表示的文件的长度。 不能获取目录的长度。
5.public boolean exists() :此File表示的文件或目录是否实际存在。
6.public boolean isDirectory() :此File表示的是否为目录。
7.public boolean isFile() :此File表示的是否为文件。
8.public boolean createNewFile() :当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。
9.public boolean delete() :删除由此File表示的文件或目录。
10.public boolean mkdir() :创建由此File表示的目录。
11.public boolean mkdirs() :创建由此File表示的目录,包括任何必需但不存在的父目录。
12.public String[] list() :返回一个String数组,存储的是File目录中所有的子文件或子目录的名称。
13.public File[] listFiles() :返回一个File数组,存储的是File目录中所有的子文件或子目录的路径的File对象。

绝对路径和相对路径
1.绝对路径:从盘符开始的路径,这是一个完整的路径。
2.相对路径:相对于项目目录的路径,这是一个便捷的路径,开发中经常使用。

文件搜索案例

public class Test3_文件搜索 {
    public static void main(String[] args) {
        /*
            需求:
                输出day12\\src目录中的所有.java文件的绝对路径。
            分析:
                1.定义一个方法,用来获取一个目录中所有符合条件的文件(子文件,子子文件,子子子文件...)
                2.在方法中,获取该目录下的所有子文件和子目录
                3.在方法中,循环遍历获取到的所有字文件和子目录
                4.在方法中,遍历的时候,需要判断遍历出来的是文件还是目录
                5.如果是文件,就判断该文件是否以.java结尾,如果是就获取其绝对路径打印输出
                6.如果是文件夹,就递归调用该方法
         */
        File file = new File("day12\\src");
        findFile(file);
    }

    /**
     * 定义一个方法,用来获取一个目录中所有符合条件的文件(子文件,子子文件,子子子文件...)
     * @param file
     */
    public static void findFile(File file) {
        // 在方法中,获取该目录下的所有子文件和子目录
        File[] files = file.listFiles();

        // 在方法中,循环遍历获取到的所有字文件和子目录
        if (files != null) {
            // 在方法中,遍历的时候,需要判断遍历出来的是文件还是目录
            for (File file1 : files) {
                // 如果是文件,就判断该文件是否以.java结尾,如果是就获取其绝对路径打印输出
                if (file1.isFile() && file1.getName().endsWith(".java")){
                    System.out.println(file1.getAbsolutePath());
                }
                // 如果是文件夹,就递归调用该方法
                if (file1.isDirectory()){
                    findFile(file1);
                }
            }
        }
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值