学科分类
目录
Java基础

Files工具类

在NIO.2中,针对于文件操作除了前面小节讲解的Paths工具类和Path接口外,还有一个Files工具类,该类是一个操作文件的工具类,其中包含了大量的方法,如表1所示。

表1 Files工具类中的常用方法

方法声明 功能描述
static Path createDirectories(Path dir, FileAttribute<?>... attrs) 创建多级文件目录
static Path createFile(Path path, FileAttribute<?>... attrs) 创建一个新的空文件,如果文件已经存在,则创建失败
static Path copy(Path source, Path target,CopyOption... options) 该方法将一个文件复制到目标文件,并使用选项参数指定如何执行复制
static List<String> readAllLines(Path path) 从文件中读取所有行
static long size(Path path) 返回文件的大小(以字节为单位)
static Stream<Path> list(Path dir) 将指定路径转换为Stream流对象
static Path write(Path path, Iterable<? extends CharSequence> lines, OpenOption... options) 将文本行写入文件,并传入指定的写入模式

了解了Files工具类的常用方法及其功能后,接下来通过一个具体的案例来演示Files类中的一些常用方法的使用,如文件1所示。

文件1 Example21.java

 1    import java.io.*;
 2    import java.nio.file.*;
 3    import java.util.*;
 4    public class Example21 {
 5        public static void main(String[] args) throws IOException {
 6            // 定义一个目录路径的Path对象
 7            Path directoryPath = Paths.get("D:/test/sample");  
 8            // 根据Path对象创建多级目录
 9            Files.createDirectories(directoryPath);  
 10            System.out.println("目录创建成功!");  
 11            // 定义一个文件路径的Path对象
 12            Path filePath = Paths.get("D:/test/sample/test.txt");
 13            // 根据Path对象创建一个文件
 14            Files.createFile(filePath);
 15            // 创建一个List集合,并向集合中添加内容
 16            List<String> list = new ArrayList<String>();
 17            list.add("这是一个测试文件");
 18            // 将集合中的内容追加写入到指定的文件中
 19            Files.write(filePath, list, StandardOpenOption.APPEND);
 20            List<String> lines = Files.readAllLines(filePath);
 21            System.out.println("文件的大小为:" + Files.size(filePath));
 22            System.out.println("文件中的内容为:" + lines);
 23        }
 24    }

运行结果如图1所示。

图1 运行结果

文件1中,简单的演示了Files工具类的一些用法,包括文件的创建、写入、读取等功能。除上述代码中的方法外,Files类中还有很多实用的方法,由于篇幅有限,这里就不再赘述。关于Files类中更多方法的使用,读者可查找官方文档来学习。

点击此处
隐藏目录