logo

Javaでファイルを1行ずつ読み取る方法

ファイルを一行ずつ読み込むには以下の方法があります。

  • BufferedReader クラス
  • スキャナクラス

BufferedReader クラスの使用

Java BufferedRedaer クラスの使用は、Java でファイルを 1 行ずつ読み取る最も一般的で簡単な方法です。に属します java.io パッケージ。 Java BufferedReader クラスは、ファイルを 1 行ずつ読み取る readLine() メソッドを提供します。メソッドのシグネチャは次のとおりです。

 public String readLine() throws IOException 

このメソッドはテキスト行を読み取ります。行の内容を含む文字列を返します。行は改行 (' ') または復帰 (' ') のいずれかで終了する必要があります。

夕食と夕食の時間

BufferedReader クラスを使用してファイルを 1 行ずつ読み取る例

次の例では、Demo.txt が FileReader クラスによって読み取られます。 BufferedReader クラスの readLine() メソッドはファイルを 1 行ずつ読み取り、各行が 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('
'); //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でファイルを1行ずつ読み取る方法

Scannerクラスの使用

ジャワ スキャナー このクラスは、BufferedReader クラスと比較して、より多くのユーティリティ メソッドを提供します。 Java Scanner クラスは、ファイルのコンテンツを 1 行ずつ処理するための nextLine() メソッドを提供します。 nextLine() メソッドは、readLine() メソッドと同じ文字列を返します。 Scanner クラスは、InputStream からファイルを読み取ることもできます。

Scanner クラスを使用してファイルを 1 行ずつ読み取る例

Javaの抽象化
 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でファイルを1行ずつ読み取る方法