pdf文档 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,等待读取完成。 - 通过CompletionHandler方式:读取完成后执行回调方法。 3. 写入数据: - 通过Future方式:使用write()方法返回Future,等待写入完成。 - 通过CompletionHandler方式:写入完成后执行回调方法。 4. 示例: ```java // 异步写入示例 AsynchronousFileChannel fileChannel = AsynchronousFileChannel.open(path, StandardOpenOption.WRITE); ByteBuffer buffer = ByteBuffer.allocate(1024); buffer.put("test data".getBytes()); buffer.flip(); fileChannel.write(buffer, 0, buffer, new CompletionHandler() { @Override public void completed(Integer result, ByteBuffer attachment) { System.out.println("Bytes written: " + result); } @Override public void failed(Throwable exc, ByteBuffer attachment) { System.out.println("Write failed"); exc.printStackTrace(); } }); ``` 总结: 本文档涵盖了Java IO和NIO的核心功能,包括Path类的使用、Files类的文件操作(如创建、复制、移动、删除、遍历等),以及Java NIO的异步文件操作,内容详实,代码示例丰富,对开发者理解和使用Java文件操作库非常有帮助。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 2 页请下载阅读 -
文档评分
请文明评论,理性发言.