java零基础入门-File类(实战篇)

188 阅读11分钟

​持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第21天,点击查看活动详情

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

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

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

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

一、概述

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

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

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

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

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

二、本期教学目标

  • 掌握File对象的创建方式
  • 掌握File类获取名称的方法名称
  • 掌握File类如何获取绝对路径
  • 掌握File类如何获取文件大小
  • 掌握File类如何判断是否是文件
  • 掌握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):文件重命名。

       总结完了,接着就应该领着大家干波大事儿了,那就是带着大家手把手教学。我会做到一个实例一个全代码一个截图,保证大家能在敲写的时候能有对照。

四、实战教学

       说明一下,如下所用文件测试,地址真实存在的,我是在本地桌面上创建了一个“test.txt”的文件,专门供以下方法测试。其文件路径全路径为:【C:/Users/86157/Desktop/test.txt】。

1、构造方法public File(String pathname)进行实例演示:

String path = "C:/Users/86157/Desktop/test.txt";
File file = new File(path);

2、构造方法public File(String parent, String child)进行实例演示:

        String parent = "C:/Users/86157/Desktop";
        String child = "test.txt";
        File file2 = new File(parent,child);

3、构造方法public File(File parent, String child)进行实例演示:

        File parentDir = new File("C:/Users/86157/Desktop");
        String child = "test.txt";
        File file3 = new File(parentDir,child);

4、exists()方法实例演示

作用:判断文件名或路径是否存在,存在即返回true否之false。

演示代码如下:

    @Test
    public void test1(){

        String path = "C:/Users/86157/Desktop/test.txt";
        File file = new File(path);

        System.out.println(file.exists());
    }

控制台打印截图:

解析:可以看到该方法返回了true,表示该文件是存在的。

倘若我给定一个不存在的文件,看看返回的是否为false?

很明显是返回了false。验证该方法是没问题的。

5、canRead()方法实例演示

作用:判断文件名或路径存在且可读,存在返回true否之false。

演示代码如下:

    @Test
    public void test1(){

        String path = "C:/Users/86157/Desktop/test.txt";
        File file = new File(path);

        System.out.println(file.canRead());
    }

控制台打印截图:

6、canWrite()方法实例演示

作用:判断文件名或路径存在且可写,存在返回true。

演示代码如下:

    @Test
    public void test1(){

        String path = "C:/Users/86157/Desktop/test.txt";
        File file = new File(path);

        System.out.println(file.canWrite());
    }

控制台打印截图:

7、isFile()方法实例演示

作用:判断File对象是否是文件,是文件返回true否之false。

演示代码如下:

    @Test
    public void test1(){

        String path = "C:/Users/86157/Desktop/test.txt";
        File file = new File(path);

        System.out.println(file.isFile());
    }

控制台打印截图:

若我将最后的文件路径去掉,只传父路径,再测试一下该接口,是否返回false?

结果证明不是文件,实际这是一个目录,验证结论没问题。

8、isDirectory()方法实例演示

作用:判断是否是一个目录,是返回true否之false。

演示代码如下:

    @Test
    public void test1(){

        String path = "C:/Users/86157/Desktop";
        File file = new File(path);

        System.out.println(file.isDirectory());
    }

控制台打印截图:

​事实证明,该路径不是文件,所以直接返回true。

9、isAbsolute()方法实例演示

作用:判断文件是否是使用绝对路径名创建的,是返回true否之false。

演示代码如下:

    @Test
    public void test1(){

        String path = "C:/Users/86157/Desktop";
        File file = new File(path);

        System.out.println(file.isAbsolute());
    }

控制台打印截图:

10、isHidden()方法实例演示

作用:判断文件属性是否隐藏的,是返回true否之false。

演示代码如下:

    @Test
    public void test1(){

        String path = "C:/Users/86157/Desktop";
        File file = new File(path);

        System.out.println(file.isHidden());
    }

控制台打印截图:

11、getAbsolutePath()方法实例演示

作用:返回文件或目录的绝对路径。

演示代码如下:

    @Test
    public void test1(){

        String path = "C:/Users/86157/Desktop/test.txt";
        File file = new File(path);

        System.out.println(file.getAbsolutePath());
    }

控制台打印截图:

12、getName()方法实例演示

作用:返回文件或目录的名称。

演示代码如下:

    @Test
    public void test1(){

        String path = "C:/Users/86157/Desktop/test.txt";
        File file = new File(path);

        System.out.println(file.getName());
    }

控制台打印截图:

13、getPath()方法实例演示

作用:返回文件或目录的完整路径。

演示代码如下:

    @Test
    public void test1(){

        String path = "C:/Users/86157/Desktop/test.txt";
        File file = new File(path);

        System.out.println(file.getPath());
    }

控制台打印截图:

14、getParent()方法实例演示

作用:返回文件或目录的父目录的完整路径。

演示代码如下:

    @Test
    public void test1(){

        String path = "C:/Users/86157/Desktop/test.txt";
        File file = new File(path);

        System.out.println(file.getParent());
    }

控制台打印截图:

15、lastModified()方法实例演示

作用:返回文件或目录的最后一次修改时间。

演示代码如下:

    @Test
    public void test1(){

        String path = "C:/Users/86157/Desktop/test.txt";
        File file = new File(path);

        System.out.println(file.lastModified());
    }

控制台打印截图:

​16、length()方法实例演示

作用:返回文件或目录的长度。

演示代码如下:

    @Test
    public void test1(){

        String path = "C:/Users/86157/Desktop/test.txt";
        File file = new File(path);

        System.out.println(file.length());
    }

控制台打印截图:

17、listFiles()方法实例演示

作用:如果返回的File对象表示的是一个目录,则该方法返回该目录下所有的文件和目录。

演示代码如下:

    @Test
    public void test1(){

        String path = "C:/Users/86157/Desktop/test.txt";
        File file = new File(path);

        System.out.println(file.listFiles());
    }

控制台打印截图:

我们给个父级路径试试。

18、delete()方法实例演示

作用:删除文件或目录。

演示代码如下:

    @Test
    public void test1(){

        String path = "C:/Users/86157/Desktop/test.txt";
        File file = new File(path);

        System.out.println(file.delete());
    }

控制台打印截图:

19、renameTo(File file)方法实例演示

作用:文件重命名。

演示代码如下:

    @Test
    public void test1(){

        String path = "C:/Users/86157/Desktop/test.txt";
        File file = new File(path);

        String path1 = "C:/Users/86157/Desktop/test1.txt";
        File file1 = new File(path);
        System.out.println(file.renameTo(file1));
    }

控制台打印截图:

...

       实例我都为大家演示执行了一遍,如果有啥不确定或者不清楚的地方,可以第一时间在评论区告诉我,我看见了会第一时间给与你答复的,好不好。就是遇到问题别憋着,自己最后倒腾出来,不如让当事人给你写解答或者指点来得快些。

       其实对于这些方法,都相对比较简单,对于大家而言,你们也需要多去练习几遍,敲几遍,这样自己才能记得住,熟能生巧,要不然看完我直接代码演示及运行截图,就没有下文了,那你们过段时间还是记不住,它干了什么,方法是干啥用的,上述所列基本都是项目中常用的方法,都是需要大家掌握的,这样日后在开发过程中,才能高效工作。

​​... ...

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

五、文末

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

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

wished for you successed !!!

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

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

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

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

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