个性化阅读
专注于IT技术分析

如何在Java中逐行读取文件

本文概述

有以下几种逐行读取文件的方法。

  • BufferedReader类
  • 扫描仪类

使用BufferedReader类

使用Java BufferedRedaer类是在Java中逐行读取文件的最常见, 最简单的方法。它属于java.io包。 Java BufferedReader类提供readLine()方法来逐行读取文件。该方法的签名是:

public String readLine() throws IOException

该方法读取一行文本。它返回一个包含行内容的字符串。该行必须由换行符(“ \ n”)或回车符(“ \ r”)中的任何一个终止。

使用BufferedReader类逐行读取文件的示例

在下面的示例中, 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 instance
FileReader fr=new FileReader(file);   //reads the file
BufferedReader br=new BufferedReader(fr);  //creates a buffering character input stream
StringBuffer sb=new StringBuffer();    //constructs a string buffer with no characters
String line;
while((line=br.readLine())!=null)
{
sb.append(line);      //appends line to string buffer
sb.append("\n");     //line feed 
}
fr.close();    //closes the stream and release the resources
System.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 reading
FileInputStream fis=new FileInputStream("Demo.txt");	 
Scanner sc=new Scanner(fis);	//file to be scanned
//returns true if there is another line to read
while(sc.hasNextLine())
{
System.out.println(sc.nextLine());		//returns the line that was skipped
}
sc.close();		//closes the scanner
}
catch(IOException e)
{
e.printStackTrace();
}
}
}

输出:

如何在Java中逐行读取文件

赞(0)
未经允许不得转载:srcmini » 如何在Java中逐行读取文件

评论 抢沙发

评论前必须登录!