File类概述和构造方法

File:它是文件和目录路径名的抽象表示

  • 文件和目录是可以通过File封装成对象的
  • 对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已,它是可以存在的也是可以不存在的,将来是要通过具体的操作把这个路径的内容转换为具体存在的
  • File属于java.io.包下,使用时需要导包

    一、File构建文件的三种方法:

    方法说明
    File(String pathname)用指定的文件路径构造文件
    File(String dir ,String subpath)

    在指定的目录下创建指定文件名的文件

    dir参数:指定目录路径; subpath参数:指定文件名

    File(File parent ,String subpath)根据一个文件对象和一个字文件构造文件对象
    parent参数:指定目录文件;subpath参数:指定文件名
            //File(String pathname),用指定的文件路径构造文件
            File  f1 = new File("e:/java.txt");
    
            //File(String dir ,String subpath),在指定的目录下创建指定文件名的文件
            //dir参数:指定目录路径; subpath参数:指定文件名
            File f2 = new File("e:/","java1.txt");
    
            //File(File parent ,String subpath),根据一个文件对象和一个字文件构造文件对象
            //parent参数:指定目录文件; subpath参数:指定文件名
            File f3 = new File("e:/");
            File   f4 = new File("f3","java2.txt");

    二、File常用方法

    方法说明
    exists判断文件或目录是否存在
    getAbsolutePath返回此对象表示的文件的绝对路径名
    getName返回此对象表示的文件或目录的名称
    getParent返回此File对象的路径名的上一级,如果路径名没有上一级,则返回null
    delete删除此对象指定的文件或目录
    createNewFile创建名称的空文件,不创建文件夹
    isDirectory判断是否是目录
    mkdir创建一个目录,它的路径名有当前File对象指定
    mkdirs创建包括父目录的目录(多级目录即使父目录不存在也可以创建)
    isFile判断是否为文件
    lastModified获取文件或目录的最后修改时间
    length获取文件或目录的大小,单位为字节(byte)
             /**
             * File类的常用方法
             * */        
             //creatNewFile 创建空文件,不创建文件夹
            //引入File类(file属于java.io.下需要导包)
            File f1 = new File("e:/java.txt");
            f1.createNewFile();
    
            //mkdir 创建一个目录,它的路径名有当前File对象指定
            File f2 = new File("e:/java1.txt");
            f2.mkdir();
    
            //mkdirs 创建包括父目录的目录(多级目录,即使父目录不存在也可以创建出来)
            File f3 = new File("e:/java/java1");
            f3.mkdirs();
    
            //getAbsolutePath	返回此对象表示的文件的绝对路径名
            System.out.println(f2.getAbsolutePath());//e:\java1.txt
    
            //getName	返回此对象表示的文件或目录的名称
            System.out.println(f2.getName());//java1.txt
    
            //getParent	返回此File对象的路径名的上一级,如果路径名没有上一级,则返回null
            System.out.println(f2.getParent());// e:\
    
            //delete	删除此对象指定的文件或目录
            System.out.println(f2.delete());//true
    
            //isDirectory	判断是否是目录
            System.out.println(f1.isDirectory());//false
            System.out.println(f3.isDirectory());//true
    
            //lastModified	获取文件或目录的最后修改时间
            System.out.println(f1.lastModified());//1668061985940
    
            //length	获取文件或目录的大小,单位为字节(byte)
            System.out.println(f1.length());//0

    Tip :

    File类创建对象时会有异常,可以直接抛出异常或者选择 try / catch 环绕解决

    delete:如果删除的目录文件下面有内容这不可以删除

    lastModified: 返回的值是毫秒值(时间戳)

 三、遍历目录(递归方法)

           /**
         * 遍历目录(递归方法)
         * */

        //创建一个File对象
        File f1= new File("d:/java");
        //调用方法
        getAllFilePath(f1);


        //方法体

        //定义一个方法,用于获取给定目录下的所有内容
        public static void getAllFilePath(File srcFile){
        //获取给定的File目录下的所有文件或者目录的File数组
        File[] fileArray = srcFile.listFiles();
        //遍历该File数组,得到每一个File对象
        if (fileArray!=null){
            for (File file : fileArray) {
                //判断该File对象是否是目录
                if (file.isDirectory()){
                    //如果是,则递归调用
                    getAllFilePath(file);
                }else {
                    //如果不是,则获取绝对路径输出在控制台
                    System.out.println(file.getAbsolutePath());
                }

            }
        }
    }

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值