File类方法、获取指定目录下的指定文件

这篇博客详细介绍了Java中File类的常见使用方法,包括获取文件名、路径、大小,判断文件类型,创建文件和目录,以及遍历目录寻找特定后缀的文件。示例代码展示了如何查找指定目录下具有特定后缀的文件,并将其路径打印出来。
摘要由CSDN通过智能技术生成
  • File类常用方法
 @Test
    public void testFile() throws Exception {
        File file = new File("C:\\Users\\Administrator\\Desktop\\sql.txt");
        System.out.println("file.getName() = " + file.getName()); //获取文件或目录名
        System.out.println("file.getParent() = " + file.getParent());//获取文件或目录所属的问你件夹路径
        System.out.println("file.getAbsolutePath() = " + file.getAbsolutePath());//获取文件或目录的绝对路径
        System.out.println("file.isDirectory() = " + file.isDirectory());//是否是目录
        System.out.println("file.isFile() = " + file.isFile());//是否是文件
        System.out.println("file.length() = " + file.length());//文件的大小
        System.out.println("file.listFiles() = " + file.listFiles());//获取该目录下所有的文件和目录
        System.out.println("file.createNewFile() = " + file.createNewFile());//创建新文件
        System.out.println("file.mkdir() = " + file.mkdir());//创建目录
        System.out.println("file.mkdirs() = " + file.mkdirs());//递归创建多级目录
        System.out.println("file.lastModified() = " + file.lastModified());//获取上次修改时间
        file.deleteOnExit();//删除文件
    }
  • 获取指定目录下的指定文件
 public static void main(String[] args) {
        String rootPath = "D:\\test";
        String suffix = ".h"; //找出后缀名.h的文件
        List<String> filePaths = new ArrayList<>();
        getPath(rootPath, filePaths, suffix);
        filePaths.forEach(System.out::println);
    }

    private static void getPath(String rootPath, List<String> filePaths, String suffix) {
        File file = new File(rootPath);
        Optional<File[]> files = Optional.ofNullable(file.listFiles(
                (f) -> f.isDirectory() || f.getName().endsWith(suffix)
        ));
        //找出该目录下所有符合后缀名的文件名以及目录,目录需要递归遍历
        files.ifPresent(fs -> {
            for (File f : fs) {
                if (f.isDirectory()) {
                    getPath(f.getAbsolutePath(), filePaths, suffix);
                } else {
                    filePaths.add(f.getAbsolutePath());
                }
            }
        });
    }
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值