Files类提供文件读写、属性检查、创建删除、复制移动、目录遍历等操作,基于Path和NIO.2,取代旧File类,方法多抛IOException需处理。

Java 中 Files 类是 java.nio.file 包下的工具类,提供了大量操作文件和目录的静态方法。它简化了文件读写、复制、删除、路径处理等常见操作。以下是 Files 的一些常用方法,按功能分类说明:
1. 文件读取与写入
这些方法适合处理小文件,内容直接在内存中操作。
-
Files.readAllLines(Path path):读取文件所有行,返回 List,默认使用 UTF-8 编码。
-
Files.readAllBytes(Path path):读取文件全部字节,返回 byte[],适合读取图片、二进制文件等。
-
Files.write(Path path, Iterable extends CharSequence> lines):将文本行写入文件,自动创建文件(如果不存在)。
-
Files.write(Path path, byte[] bytes):将字节数组写入文件,常用于保存二进制数据。
2. 文件检查与属性获取
判断文件状态或获取元信息。
-
Files.exists(Path path):判断路径对应的文件或目录是否存在。
-
Files.isDirectory(Path path):判断是否为目录。
-
Files.isRegularFile(Path path):判断是否为普通文件(非目录、符号链接等)。
-
Files.size(Path path):获取文件大小(字节数)。
-
Files.getLastModifiedTime(Path path):获取最后修改时间。
-
Files.getOwner(Path path):获取文件所有者(需文件系统支持)。
3. 文件创建与删除
管理文件生命周期。
-
Files.createFile(Path path):创建新文件,若已存在则抛出异常。
-
Files.createDirectory(Path path):创建单层目录,父目录需已存在。
-
Files.createDirectories(Path path):创建多级目录,自动补全父目录。
-
Files.delete(Path path):删除文件或空目录,若不存在会抛异常。
-
Files.deleteIfExists(Path path):删除文件,若不存在也不报错,返回布尔值。
4. 文件复制与移动
实现文件的迁移或备份。
-
Files.copy(Path source, Path target):复制文件,目标不能已存在。
-
Files.copy(Path source, Path target, CopyOption... options):可传入 StandardCopyOption 如 REPLACE_EXISTING、COPY_ATTRIBUTES 等控制行为。
-
Files.move(Path source, Path target):移动或重命名文件,也可用 CopyOption 控制。
5. 目录遍历与搜索
处理目录中的内容。
-
Files.list(Path dir):返回目录下直接子项的 Stream,可用于遍历。
-
Files.walk(Path start, int maxDepth):深度优先遍历目录树,支持限制层级。
-
Files.find(Path start, int maxDepth, BiPredicateasicFileAttributes> matcher):按条件查找文件,比如根据属性筛选。
6. 其他实用方法
-
Files.lines(Path path):返回文件每行内容的 Stream,适合大文件逐行处理。
-
Files.newBufferedReader(Path path):获取 BufferedReader,用于高效读取文本。
-
Files.newBufferedWriter(Path path):获取 BufferedWriter,用于写入文本。
-
Files.isSymbolicLink(Path path):判断是否为符号链接。
基本上就这些。Files 的设计更现代,基于 Path 和 NIO.2,推荐替代旧的 File 类操作。注意多数方法会抛出 IOException,调用时需要处理。
以上就是java 中Files的常用方法都有哪些?的详细内容,更多请关注php中文网其它相关文章!