https://onitroad.com 更多教程
3. 使用 FileUtils 读取文件
Apache Commons IO 库通过为 Java 中几乎所有与 IO 相关的作业提供简短且易于使用的方法,做得非常出色。
FileUtils 类是用于一般文件读取和操作的实用程序类。
示例 2:使用 Apache Commons IO 读取文件
public void readFileWithApacheCommons (String fileName)
{
try
{
File file = new File( fileName );
List lines = FileUtils.readLines(file, "UTF-8");
for (String line : lines) {
System.out.println( line );
}
}
catch (IOException ex) {
ex.printStackTrace();
}
}
2. 使用 Java NIO Files 读取文件
Files类是 Java NIO API 的一部分,使代码易于阅读。
此类仅包含对文件、目录或者其他类型文件进行操作的静态方法。
示例2:用Java NIO逐行读取文件
public void readFileWithNIO (String fileName)
{
Path path = Paths.get( fileName );
try ( Stream<String> lines = Files.lines(path) )
{
lines.forEach(s -> System.out.println(s));
}
catch (IOException ex) {
ex.printStackTrace();
}
}
请注意 使用的是lines.forEachOrdered()。
如果我们使用 lines.forEach(),那么由于 API 的异步性质,我们可能无法按正确的顺序获取行。
在 Java 中,可以通过多种不同方式读取文件。
4.用Guava读取文件
Guava 具有与 Apache Commons IO 类似的方法。
只有类名不同,使用 Files 代替 FileUtils。
public void readFileWithGuava (String fileName)
{
try
{
File file = new File( fileName );
List lines = Files.readLines(file, "UTF-8");
for (String line : lines) {
System.out.println( line );
}
}
catch (IOException ex) {
ex.printStackTrace();
}
}
1. 使用 BufferedReader 读取文件
BufferedReader 长期使用的最简单、常用、高效的方法。
它从字符输入流中读取文本,缓冲字符以提供对字符、数组和行的有效读取。
示例 1:使用 BufferedReader 逐行读取文件
public void readFile(String fileName)
{
try (BufferedReader br = new BufferedReader(new FileReader("C:\testing.txt")))
{
String sCurrentLine;
while ((sCurrentLine = br.readLine()) != null)
{
System.out.println(sCurrentLine);
}
}
//Stream is closed automatically
catch (IOException e)
{
e.printStackTrace();
}
}
日期:2020-09-17 00:09:43 来源:oir作者:oir
