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

时间:2024-04-06 07:35:26

一、概述

       上一期,我们是具体学习了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));
    }

控制台打印截图:

...

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

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