有很多方法可以在java中读取文本文件。下面我们来逐个看看java中读取文本文件的几个方法。
在java中有很多读取文本文件的方法。文本文件由字符组成,因此可以使用Reader类。在java中读取文本文件也有一些实用程序类。
使用Files类读取文本文件;
使用FileReader类读取文本文件;
使用BufferedReader类读取文本文件;
使用Scanner类读取文本文件;
现在让我们看看如何使用这些类在java中读取文本文件。
方法一:使用java.nio.file.Files读取文本文件
使用Files类将文件的所有内容读入字节数组。Files类还有一个方法可以读取所有行到字符串列表。Files类是在Java 7中引入的,如果想加载所有文件内容,使用这个类是比较适合的。只有在处理小文件并且需要加载所有文件内容到内存中时才应使用此方法。
String fileName = "D:/maxsu/docs/source.txt";
Path path = Paths.get(fileName);
byte[] bytes = Files.readAllBytes(path);
List allLines = Files.readAllLines(path, StandardCharsets.UTF_8);
方法二:使用java.io.FileReader类
可以使用FileReader获取BufferedReader,然后逐行读取文件。FileReader不支持编码并使用系统默认编码,因此它不是一种java中读取文本文件的非常有效的方法。
String fileName = "D:/maxsu/docs/source.txt";
File file = new File(fileName);
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String line;
while((line = br.readLine()) != null){
// 一行一行地处理...
System.out.println(line);
}
方法三:使用java.io.BufferedReader
如果想逐行读取文件并对它们进行处理,那么BufferedReader是非常合适的。它适用于处理大文件,也支持编码。
BufferedReader是同步的,因此可以安全地从多个线程完成对BufferedReader的读取操作。BufferedReader的默认缓冲区大小为