如何在Java中逐行读取文件

本文概述

  • 使用BufferedReader类
  • 使用扫描仪类
有以下几种逐行读取文件的方法。
  • BufferedReader类
  • 扫描仪类
使用BufferedReader类 使用Java BufferedRedaer类是在Java中逐行读取文件的最常见, 最简单的方法。它属于java.io包。 Java BufferedReader类提供readLine()方法来逐行读取文件。该方法的签名是:
public String readLine() throws IOException

该方法读取一行文本。它返回一个包含行内容的字符串。该行必须由换行符(“ \ n”)或回车符(“ \ r”)中的任何一个终止。
使用BufferedReader类逐行读取文件的示例
【如何在Java中逐行读取文件】在下面的示例中, FileReader类读取Demo.txt。 BufferedReader类的readLine()方法逐行读取文件, 并将每行追加到StringBuffer后面, 然后换行。然后, 将StringBuffer的内容输出到控制台。
import java.io.*; public class ReadLineByLineExample1{public static void main(String args[]){try{File file=new File("Demo.txt"); //creates a new file instanceFileReader fr=new FileReader(file); //reads the fileBufferedReader br=new BufferedReader(fr); //creates a buffering character input streamStringBuffer sb=new StringBuffer(); //constructs a string buffer with no charactersString line; while((line=br.readLine())!=null){sb.append(line); //appends line to string buffersb.append("\n"); //line feed }fr.close(); //closes the stream and release the resourcesSystem.out.println("Contents of File: "); System.out.println(sb.toString()); //returns a string that textually represents the object}catch(IOException e){e.printStackTrace(); }}}

输出:
如何在Java中逐行读取文件

文章图片
使用扫描仪类 与BufferedReader类相比, Java Scanner类提供了更多的实用程序方法。 Java Scanner类提供nextLine()方法, 以方便一行一行地显示文件内容。 nextLine()方法返回与readLine()方法相同的String。 Scanner类还可以读取InputStream形式的文件。
使用Scanner类逐行读取文件的示例
import java.io.*; import java.util.Scanner; public class ReadLineByLineExample2{public static void main(String args[]){try{//the file to be opened for readingFileInputStream fis=new FileInputStream("Demo.txt"); Scanner sc=new Scanner(fis); //file to be scanned//returns true if there is another line to readwhile(sc.hasNextLine()){System.out.println(sc.nextLine()); //returns the line that was skipped}sc.close(); //closes the scanner}catch(IOException e){e.printStackTrace(); }}}

输出:
如何在Java中逐行读取文件

文章图片

    推荐阅读