路径分割符

  • File.seperator : "/" or "\"
  • File.pathSeperator: ":" or ";"

当前路径 pwd

File 类

  • 作用: 目录和文件
  • 用途:

    1. 本文件路径的基本操作

      • getPath()
      • getAbsolutePath()
      • getCanonicalPath()
    2. 文件的属性判断

      • 类型
  • isFile()
  • isDirectory()

    • 存在问题
  • exists()

    • rwx 问题
  • canRead()
  • canWrite()
  • canExecute()

    • 大小
  • length()

    1. 修改

      • 创建+删除
  • createNewFile()
  • delete()

    • 创建 目录
  • mkdir()
  • mkdirs()

    • 类似 linux midir -p 命令(python os.mkdirs)
    1. 临时文件

      • 创建
  • createTempFile()

    • 删除
  • deleteOnExit()

    1. 枚举

      • 文件 + 目录
  • list() –> String 类型
  • listFiles() –> File 类型

Path 类

  • 作用

    • 复杂的 路径操作,拼接、徧历等
  • 类型

    • 接口
  • 创建

    • Paths.get("/out/path")
  • 使用

    1. 对比

      • compareTo(Path other) –> int
  • 0 ==> 相等

    • equals()
  • 比较的初始化值

    • isSameFile()
  • 更合理

    1. 前后缀(针对 basename)

      • startswith()
      • endswith()
    2. 信息提取

      • getFileName() –> 名称,类似 Python os.path.basename()
      • getPatent() –> 目录
      • 分拆路径:/home/demo.txt –> [home, demo.txt]
  • getName(int index)
  • getNameCount()

    • getRoot() –> 根路径 "/" 或 盘符 "d:\"
    1. 规范化

      • normalize()
  • "." –> ""

    1. 属性判断

      • isAbsolute()
    2. 徧历 + 迭代

      • iterator()
    3. 相对路径 制作

      • start.relativize(Path end)
  • 相对与 end 的 路径

    • 当前路径 start 为 父路径
  • 注意:

    • unix 路径 不可以 + windows 路径
    • windows 路径 必须是相同盘符
    • 相对路径 (包含 "." 和 "..") 不能 和 普通路径对比

      • 解决方法

        • 可以使用 toAbsolutePath() 转化后对比
    • normalize() 转化不可以

      1. 拼接路径,类似 Python os.path.join

        • resolve(Path other)
  • 注意:不会检查,是否存在

Paths 类

  • 静态类
  • 用途

    • 提供 Paths.get() 静态方法

      • 制作 Path 对象

Files 类

  • 参考

  • 静态类
  • 作用:

    • 辅助 Path 对象,完成 文件属性 判断, 文件 创建 + 删除
  • 用途

    1. 存在

      • exists(Path path)
    2. 创建 + 删除

      • createDirectories()
      • createFile()
      • delete()
    3. 复制

      • copy()
  • 文件 -> 文件
  • 流 -> 文件
  • 文件 -> 流

    1. 属性

      • isDirectory()
      • isSymbolicLink()
      • isReadable()
      • readAttributes()
      • size()
    2. 修改权限

      • setPosixFilePermissions()
    3. 徧历

      • walk()
      • list()
    4. 读取

      • readAlllines()
      • readString()