Java零基础入门-File类(概念篇)

举报
喵手 发表于 2025/01/31 23:29:34 2025/01/31
【摘要】 ​ 一、概述        上一期,我们是完整的学完了java8的新特性,比如Lambda表达式、函数式接口、Stream流、新时间日期api等。不知道你们掌握的如何,对于不清楚或者有疑问的点,尽量能在评论区告诉我,我会不留余力的帮助大家,只为大家能把它学好,也不枉我下班回来后给大家肝文。        而这一期,我给大家讲点什么呢?前提是如果大家有想学的知识点,也可以直接告诉我,或者私信我...

 一、概述

        上一期,我们是完整的学完了java8的新特性,比如Lambda表达式、函数式接口、Stream流、新时间日期api等。不知道你们掌握的如何,对于不清楚或者有疑问的点,尽量能在评论区告诉我,我会不留余力的帮助大家,只为大家能把它学好,也不枉我下班回来后给大家肝文。

        而这一期,我给大家讲点什么呢?前提是如果大家有想学的知识点,也可以直接告诉我,或者私信我,都可。而这一期,我接着给大家讲一讲java基础吧。

        我们都知道,有个类File,文件类,其是对文件和目录路径名的抽象表示,不知道你们有咩有接触过它,用它进行文件或目录的创建、查找、删除等操作。如果你没有接触过,那正好,这一期,我就带你真正的学习一下它,具有很好的教学价值,希望大家能耐心把它看完。

        废话不多说,咱这就开始干正事!

二、本期教学目标

  • 掌握File对象的创建方式
  • 掌握File类获取名称的方法名称
  • 掌握File类如何获取绝对路径
  • 掌握File类如何获取文件大小
  • 掌握File类如何判断是否是文件
  • 掌握File类如何判断是否是文件夹
  • 能够辨别相对路径和绝对路径
  • 掌握如何遍历文件夹
  • ...

三、正文

1、File类

        说起File类,其包路径:java.io.File,位于rt.jar包内,它是java.io包中唯一能代表磁盘文件本身的对象,如果你想在程序中操作文件或者目录,都可以通过File类来实现。

        对于File类,其本身是不能访问内容本身的,如果需要访问文件内容,你则需要用到输入/输出流,这里我放后边会讲。

 2、特征

        对于File类,是java中比较常用也是比较常用的一个类,我如下来总结一下,该类有哪些特征特点,具体请看以下两点:

  • 封装了文件或目录。
  • 不能对文件进行读写操作。

3、构造方法

        说起一个类,File类也是有提供它向外的构造函数,具体有哪些呢?大家请看。

  • public File(String pathname) {}

作用:通过将给定的字符串路径转换为抽象路径名实例化File类。

其源码方法如下:

    public File(String pathname) {
        if (pathname == null) {
            throw new NullPointerException();
        }
        this.path = fs.normalize(pathname);
        this.prefixLength = fs.prefixLength(this.path);
    }
  • public File(String parent, String child) {}

作用:通过结合父字符串路径和子字符串路径来创建新的 File实例。

其源码方法如下:

    public File(String parent, String child) {
        if (child == null) {
            throw new NullPointerException();
        }
        if (parent != null) {
            if (parent.equals("")) {
                this.path = fs.resolve(fs.getDefaultParent(),
                                       fs.normalize(child));
            } else {
                this.path = fs.resolve(fs.normalize(parent),
                                       fs.normalize(child));
            }
        } else {
            this.path = fs.normalize(child);
        }
        this.prefixLength = fs.prefixLength(this.path);
    }
  • public File(File parent, String child) {}

作用:通过父抽象路径名和子字符串路径来创建新的 File实例。 

其源码方法如下:

    public File(File parent, String child) {
        if (child == null) {
            throw new NullPointerException();
        }
        if (parent != null) {
            if (parent.path.equals("")) {
                this.path = fs.resolve(fs.getDefaultParent(),
                                       fs.normalize(child));
            } else {
                this.path = fs.resolve(parent.path,
                                       fs.normalize(child));
            }
        } else {
            this.path = fs.normalize(child);
        }
        this.prefixLength = fs.prefixLength(this.path);
    }

4、常用方法

        对于如上的几个实例化File对象,接着我们就要来学习一下File类的常用方法了。其实你们也可以自己去扒源码,但是不排除有些同学自控力不足,那还是我来给大家总结一下吧。 

  • exists():判断文件名或路径是否存在,存在即返回true否之false。
  • canRead():判断文件名或路径存在且可读,存在返回true否之false。
  • canWrite():判断文件名或路径存在且可写,存在返回true。
  • isFile():判断File对象是否是文件,是文件返回true否之false。
  • isDirectory():判断是否是一个目录,是返回true否之false。
  • isAbsolute():判断文件是否是使用绝对路径名创建的,是返回true否之false。
  • isHidden():判断文件属性是否隐藏的,是返回true否之false。
  • getAbsolutePath():返回文件或目录的绝对路径。
  • getName():返回文件或目录的名称。
  • getPath():返回文件或目录的完整路径。
  • getParent():返回文件或目录的父目录的完整路径。
  • lastModified():返回文件或目录的最后一次修改时间。
  • length():返回文件或目录的长度。
  • listFiles():如果返回的File对象表示的是一个目录,则该方法返回该目录下所有的文件和目录。
  • delete():删除文件或目录。
  • renameTo(File file):文件重命名。
  • ...

四、实例演示

... ...

       至于实例演示,你们可以看我这期的教学内容《java零基础入门-File类(实战篇)》,专门带着大家不仅手敲一遍常用方法,还具体根据业务场景实战演示。具有很好的教学价值,希望能帮到你。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。