Java文件操作与I/O流详解
1. 文件操作基础
在文件操作中,有几个重要的操作需要掌握,包括原子移动、文件删除和文件比较。
1.1 执行原子移动
在使用 move()
方法时,有一个枚举值 StandardCopyOption.ATOMIC_MOVE
需要了解。原子移动意味着文件在文件系统中作为一个不可分割的操作进行移动,任何监控文件系统的进程都不会看到不完整或部分写入的文件。示例代码如下:
Files.move(Path.of("mouse.txt"), Path.of("gerbil.txt"), StandardCopyOption.ATOMIC_MOVE);
如果文件系统不支持此功能,将抛出 AtomicMoveNotSupportedException
异常。需要注意的是,虽然 ATOMIC_MOVE
是 StandardCopyOption
类型的成员,但如果将其传递给 copy()
方法,可能会抛出异常。
1.2 使用 delete()
和 deleteIfExists()
删除文件
Files
类提供了两个方法来删除文件系统中的文件或空目录:
public