ファイルを一行ずつ読み込むには以下の方法があります。
- 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(); } } }
出力:
通常形
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(); } } }
出力: