写点什么

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

作者:喵手
  • 2022 年 7 月 18 日
  • 本文字数:2929 字

    阅读完需:约 10 分钟

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

哈喽,各位小伙伴们好,我是喵手。

今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流 学 习,互相学习,才能成长的更快,对吧。

我是一名 java 开发,所以日常接触到最多的就是 java 啦,所以我趁自己有空,就来好好回忆,把自己学到的会的,进行输出,不图什么有回报,只想能帮助到更多的小伙伴,就好。

小伙伴们在批阅的过程中,如果觉得文章不错,欢迎点赞、收藏、关注哦。三连即是对喵手我创作道路上最好的鼓励与支持!

一、概述

论前几期啊,我们是分别讲了Object类Date类FormDate类Calendar类System类StringBuilder类,不知道大家掌握的如何,如果没有及时巩固的同学,可以看我这里,我给大家罗列了下,快速学习通道,只希望能帮助到大家更好的学习与成长,这就是我写作的初衷。

       上一期,我们是完整的学完了 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 类(实战篇)》,专门带着大家不仅手敲一遍常用方法,还具体根据业务场景实战演示。具有很好的教学价值,希望能帮到你。

​... ...

好啦,以上就是本期内容的全部教学内容啦,如果对文中的任何知识点有疑问,欢迎评论区评论留言呀,我看见都会一一解答的。

五、文末

       教学是结束了,但是有些话不知我但讲不当讲,啊哈哈, 可我还是想说给你们听听。如下是我很喜欢的一句话,我打算送给你们,希望我们都能变得更好更优秀。

学习不分先后,知识不分多少;事无巨细,当以虚心求教;三人行,必有我师焉!!!

wished for you successed !!!

-------------------------------------------

⭐️若喜欢我,就请关注我叭。

⭐️若对您有用,就请点赞叭。

⭐️若有疑问,就请评论留言告诉我叭。

-------------------------------------------


发布于: 刚刚阅读数: 5
用户头像

喵手

关注

还未添加个人签名 2022.07.05 加入

还未添加个人简介

评论

发布
暂无评论
java零基础入门-File类(概念篇)_Java_喵手_InfoQ写作社区