File class
文章目录
路径分割符
- File.seperator : "/" or "\"
- File.pathSeperator: ":" or ";"
当前路径 pwd
参考
user.dir
1 2System.getProperty("user.dir") File(".").getCanonicalPath()- jvm 调用 application 位置
Paths
1Paths.get(".").toAbsolutePath().normalize().toString();
File 类
- 作用: 目录和文件
用途:
本文件路径的基本操作
- getPath()
- getAbsolutePath()
- getCanonicalPath()
文件的属性判断
- 类型
- isFile()
isDirectory()
- 存在问题
exists()
- rwx 问题
- canRead()
- canWrite()
canExecute()
- 大小
length()
修改
- 创建+删除
- createNewFile()
delete()
- 创建 目录
- mkdir()
mkdirs()
- 类似 linux midir -p 命令(python os.mkdirs)
临时文件
- 创建
createTempFile()
- 删除
deleteOnExit()
枚举
- 文件 + 目录
- list() –> String 类型
- listFiles() –> File 类型
Path 类
作用
- 复杂的 路径操作,拼接、徧历等
类型
- 接口
创建
- Paths.get("/out/path")
使用
对比
- compareTo(Path other) –> int
0 ==> 相等
- equals()
比较的初始化值
- isSameFile()
更合理
前后缀(针对 basename)
- startswith()
- endswith()
信息提取
- getFileName() –> 名称,类似 Python os.path.basename()
- getPatent() –> 目录
- 分拆路径:/home/demo.txt –> [home, demo.txt]
- getName(int index)
getNameCount()
- getRoot() –> 根路径 "/" 或 盘符 "d:\"
规范化
- normalize()
"." –> ""
属性判断
- isAbsolute()
徧历 + 迭代
- iterator()
相对路径 制作
- start.relativize(Path end)
相对与 end 的 路径
- 当前路径 start 为 父路径
注意:
- unix 路径 不可以 + windows 路径
- windows 路径 必须是相同盘符
相对路径 (包含 "." 和 "..") 不能 和 普通路径对比
解决方法
- 可以使用 toAbsolutePath() 转化后对比
normalize() 转化不可以
拼接路径,类似 Python os.path.join
- resolve(Path other)
- 注意:不会检查,是否存在
Paths 类
- 静态类
用途
提供 Paths.get() 静态方法
- 制作 Path 对象
Files 类
参考
- 静态类
作用:
- 辅助 Path 对象,完成 文件属性 判断, 文件 创建 + 删除
用途
存在
- exists(Path path)
创建 + 删除
- createDirectories()
- createFile()
- delete()
复制
- copy()
- 文件 -> 文件
- 流 -> 文件
文件 -> 流
属性
- isDirectory()
- isSymbolicLink()
- isReadable()
- readAttributes()
- size()
修改权限
- setPosixFilePermissions()
徧历
- walk()
- list()
读取
- readAlllines()
- readString()
文章作者
上次更新 2022-03-07 (de34a70)