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