Java 基础之IO 和NIO 补完
218.38 KB
9 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
中文(简体) | .pdf | 3 |
摘要 | ||
文档详细介绍了Java IO和NIO的相关功能,包括Files类的各种操作方法,如文件复制、移动、删除和目录创建等。同时涵盖了使用AsynchronousFileChannel实现异步读写文件操作的方法,以及Path类的路径创建与处理技巧。文档还展示了如何通过Files.walkFileTree()递归遍历和删除目录结构,并提供了在文件操作中处理异常和终止遍历的示例。 | ||
AI总结 | ||
《Java 基础之IO和NIO补完》文档总结如下:
一、Path类的使用
1. 创建Path实例:
- 使用Paths.get()方法可以创建绝对路径或相对路径。
- 示例:绝对路径如`Paths.get("c:\\data\\myfile.txt")`,相对路径如`Paths.get("data", "projects\\myfile.txt")`。
- 支持使用`.`和`..`表示相对路径。
2. 路径归一化:
- Path.normalize()方法用于去除路径中的冗余部分(如`..`和`.`)。
- 示例:路径`"d:\\data\\projects\\a-project\\..\\another-project"`归一化后为`"d:\\data\\projects\\another-project"`。
二、Files类的功能
1. 文件是否存在:
- 使用Files.exists()方法检查文件路径是否存在。
- 可以通过LinkOption.NOFOLLOW_LINKS参数指定不跟随符号链接。
2. 创建目录:
- Files.createDirectory()方法用于创建目录,支持递归创建。
- 如果目录已存在,会抛出FileAlreadyExistsException。
3. 复制文件:
- Files.copy()方法用于复制文件。
- 可通过StandardCopyOption.REPLACE_EXISTING覆盖目标文件。
4. 移动文件:
- Files.move()方法用于移动文件。
- 支持跨目录移动。
5. 删除文件或目录:
- Files.delete()方法用于删除文件或空目录。
- 使用Files.walkFileTree()递归删除目录,需自定义FileVisitor处理文件和目录。
6. 遍历文件树:
- Files.walkFileTree()方法递归遍历文件目录,提供preVisitDirectory、visitFile、postVisitDirectory等回调。
- FileVisitor接口的实现类SimpleFileVisitor可扩展文件操作逻辑。
三、Java NIO中的AsynchronousFileChannel
1. 异步读写文件:
- AsynchronousFileChannel在Java 7中引入,支持异步文件操作。
- 读写操作可通过Future或CompletionHandler实现。
2. 读取数据:
- 通过Future方式:使用read()方法返回Future |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
2 页请下载阅读 -
文档评分