File类的初步学习

1、File类的概述

我们可以使用File类对文件和文件夹进行操作。

  • 创建一个文件/文件夹
  • 删除文件/文件夹
  • 获取文件/文件夹
  • 判断文件/文件夹是否存在
  • 对文件夹进行遍历
  • 获取文件的大小

File类是一个与系统无关的类,任何操作系统都有可以使用这个类种的方法。

重点:记住三个单词

  • file:文件
  • directory:文件夹
  • path:路径(用于找到文件或者文件夹的路径)

2、File的静态成员变量

  • pathSeparator(String) 与系统有关的路径分隔符

    在windows中,它是分号 ; 在Linux中,它是冒号 :

  • separator (String)文件名称分隔符

    windows:反斜杠 \ Linux:斜杠 /

3、绝对路径与相对路径

  • 绝对路径:完整的路径,以盘符开始的路径。
  • 相对路径:简化的路径,相对是指相对于当前项目的根目录。

注意:

  • 路径不区分大小写(疑问)艹,是真的,真的不区分大小写

4、构造方法

  • /*
       File(String pathname) 通过给定路径名字符串转换为抽象路径名来创建一个新File实例
       参数:
           路径可以是以文件结尾,也可以字符串结尾
           路径可以是相对路径,也可以是绝对路径
           可以是存在的,也可是不存在的
           创建File对象,只是把字符串路径封装为File对象,不考虑路径的真假情况
      */
       private static void show01() {
           File file = new File("D:\\百度云下载\\java攻城狮");
           System.out.println(file);// D:\百度云下载\java攻城狮 说明File类重写了toString()
       }
    
  • /*
        File(String parent,String child) 根据parent路径名字符串和child路径名字符串来创建一个新File实例。
        参数:把路径分成了两部分
            String parent:父路径
            String child:子路径
         */
        private static void show02(){
            File file = new File("c:\\","zhangsan.txt");
            System.out.println(file); // c:\\zhangsan.text
        }
    
  • /*
        File(File parent,String child) 根据parent File和child路径名字符串来创建一个新File实例。
        参数:把路径分成了两部分
            File parent:父路径
            String child:子路径
         */
        private static void show02(){
            File file = new File(parent,"zhangsan.txt"); //父路径是File类型
            System.out.println(file); // c:\\zhangsan.text
        }
    

5、常用方法

5.1、获取

  1. String getAbsolutePath() :返回File的绝对路径字符串(管你是绝对还是相对统统返回绝对路径)
  2. String getPath() :返回你原来是啥的(绝对路径就返回绝对路径、相对路径就返回相对路径)
    toString()调用的就是getPath()。
  3. String getName() :返回由此File表示的文件(文件)或目录(最后一个文件夹)的名称
  4. long length() :File的大小。(以Byte为单位)
    注意:文件夹是没有大小概念的,不能获取文件夹的大小,如果路径不存在那么返回0。

5.2、判断

  1. boolean exists()
  2. boolean isDirectory()
  3. boolean isFile()

5.3、创建删除

  • boolean createNewFile() 当且仅当具有该名称的文件上不存在时,创建一个新的空文件。

  • boolean delete() 删除此File表示的文件或目录

    /*
        public boolean delete():删除由此File类表示的文件或目录,
        此方法可以删除构造方法给出的文件或文件夹
        文件/文件夹删除成功:true
        文件夹有内容,不会删除返回false,构造方法中的路径不存在也会返回false;
        注意:
            delete()是直接在硬盘上删除,不走回收站,也就是说:不能撤销
         */
        private static void delete() {
            File file = new File("hhh");
            System.out.println(file.delete()); //返回false,因为hhh文件夹中有内容
        }
    
  • boolean mkdir() 创建此File表示的目录

  • boolean mkdirs() 创建由此File表示的目录,包括任何必须但不存在的父目录。

6、遍历(文件夹)

/*
        File类遍历(文件夹目录功能)
        - public String[] list() :返回一个String数组,表示该File目录中的所有子文件或目录
        - public File() listFiles() :返回一个File数组,表示该File目录中的所有子文件或目录
        注意:
            list方法和listFiles方法遍历的是构造方法中给出的目录,
            如果构造方法中给出的目录路径不存在,会抛出空指针异常
            如果构造方法给出的路径不是一个目录,也会抛出空指针异常
     */

隐藏的文件也能获取到!🔏
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章