java IO流: File类

File类

  • java.io.File类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。

  • 是一个与系统无关的类,任何操作系统都可以使用这个类中的方法

  • 四个静态成员变量

    • static String pathSeparator 与系统有关的路径分隔符,为了方便,它被表示为一个字符串
      static char pathSeparatorChar 与系统有关的路径分隔符

      windows: 分号 Linux:冒号

    • static String separator 与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串
      static char separatorChar 与系统有关的默认名称分隔符

      windows: 反斜杠\ Linux:斜杠/

  • 路径:

    • 绝对路径:是一个完整的路径,以盘符开始的路径
    • 相对路径:是一个简化的路径;相对指的是相对于当前项目的根路径
    • 路径不区分大小写
    • 文件名称分隔符Windows使用反斜杠,\是转义字符,\=\,所以要写两个\

构造方法

  • File(String pathname) 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
    • 参数:String pathname 字符串路径名称
      • 路径可以以文件结尾,也可以以文件夹结尾
      • 路径可以是相对路径,也可以是绝对路径
      • 路径可以存在,也可以不存在
      • 创建File对象,只是把字符串路径封装为File对象,不考虑路径的真假情况
  • File(String parent, String child) 根据 parent 路径名字符串child 路径名字符串创建一个新 File 实例。
    • parent 路径名字符串用于表示目录,child 路径名字符串用于表示目录或文件
    • 父路径和子路径可以单独书写,使用起来非常灵活,父路径和子路径都可以变化
  • File(File parent, String child) 根据 parent 抽象路径名child 路径名字符串创建一个新 File 实例。
    • parent 抽象路径名用于表示目录,child 路径名字符串用于表示目录或文件
    • 父路径和子路径可以单独书写,使用起来非常灵活,父路径和子路径都可以变化
    • 父路径是File类型,可以使用File的方法对路径进行一些操作,再使用路径创建对象

常用方法

获取功能的方法

  • String getAbsolutePath() :返回此抽象路径名的绝对路径名字符串
  • 获取构造方法中传递的路径
  • 无论路径是绝对的还是相对的,返回的都是绝对路径
  • String getPath() : 将此抽象路径名转换为一个路径名字符串
    • 获取构造方法中传递的路径
    • toString方法调用的就是getPath方法
  • String getName() :返回由此抽象路径名表示的文件或目录的名称
    • 获取的是构造方法传递的路径的结尾部分(文件/文件夹)
  • long length() : 返回由此抽象路径名表示的文件的长度
    • 获取的是构造方法指定的文件的大小,以字节为单位
    • 文件夹没有大小概念,不能获取文件夹大小
    • 如果构造方法中给出的路径不存在,那么返回0

判断功能的方法

  • boolean exists() :测试此抽象路径名表示的文件或目录是否存在
  • boolean isDirectory() :测试此抽象路径名表示的文件是否是一个目录
    • 用于判断构造方法中给定的路径是否以文件夹结尾
    • 使用前提:路径必须是存在的,否则返回false
  • boolean isFile() : 测试此抽象路径名表示的文件是否是一个标准文件
    • 用于判断构造方法中给定的路径是否以文件结尾
    • 使用前提:路径必须是存在的,否则返回false

创建删除功能的方法

  • boolean createNewFile() :当且仅当不存在具有此抽象路径名指定名称的文件时,创建一个新的空文件
  • 创建文件的路径和名称 在构造方法中给出
  • 文件不存在,创建文件,返回true;文件存在,不会创建,返回false
  • 只能创建文件,不能创建文件夹
  • 创建文件的路径必须存在,否则会抛出异常
  • 该方法声明时抛出了IoException异常,需要处理这个异常,throws或trycatch
  • boolean delete() :删除此抽象路径名表示的文件或目录
    • 文件或文件夹删除成功,返回true
    • 文件夹中有内容,返回false
    • 构造方法中路径不存在,返回false
    • 删除时直接在硬盘删除文件,不会在回收站,删除要谨慎
  • boolean mkdir() :创建此抽象路径名指定的目录
    • 只能创建单级空文件夹
    • 创建文件夹的路径必须存在,否则返回false
  • boolean mkdirs() :创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
    • 既能创建单级空文件夹,也能创建多级空文件夹

目录的遍历

  • String[] list() :返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录
  • File[] listFiles(): 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
  • 遍历的是构造方法中给出的目录
  • 如果路径不存在,返回null
  • 如果路径不是一个目录,返回null
posted @ 2020-12-31 23:23  迪迦是真的  阅读(126)  评论(0)    收藏  举报
//复制代码按钮 //代码行号 //评论