logo

Jak czytać plik linia po linii w Javie

Istnieją następujące sposoby odczytywania pliku linia po linii.

  • Klasa BufferedReader
  • Klasa skanera

Korzystanie z klasy BufferedReader

Korzystanie z klasy Java BufferedRedaer jest najpowszechniejszym i najprostszym sposobem odczytywania pliku linia po linii w Javie. To należy do Java.io pakiet. Klasa Java BufferedReader udostępnia metodę readLine() umożliwiającą odczyt pliku linia po linii. Sygnatura metody to:

zastępca komisarza policji
 public String readLine() throws IOException 

Metoda odczytuje wiersz tekstu. Zwraca ciąg znaków zawierający zawartość linii. Linia musi być zakończona dowolnym znakiem znaku nowego wiersza („ ”) lub powrotu karetki („ ”).

Przykład odczytu pliku linia po linii przy użyciu klasy BufferedReader

W poniższym przykładzie plik Demo.txt jest odczytywany przez klasę FileReader. Metoda readLine() klasy BufferedReader odczytuje plik linia po linii, a każda linia jest dodawana do StringBuffer, po czym następuje przesunięcie wiersza. Zawartość StringBuffer jest następnie wysyłana do konsoli.

 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(); } } } 

Wyjście:

Jak czytać plik linia po linii w Javie

Korzystanie z klasy Scanner

Jawa Skaner class zapewnia więcej metod użytkowych w porównaniu do klasy BufferedReader. Klasa Java Scanner udostępnia metodę nextLine() ułatwiającą przeglądanie zawartości pliku linia po linii. Metody nextLine() zwracają ten sam ciąg znaków, co metoda readLine(). Klasa Scanner może także odczytać plik z pliku wejściowego.

Przykład odczytu pliku linia po linii przy użyciu klasy Scanner

numpy zera
 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(); } } } 

Wyjście:

Jak czytać plik linia po linii w Javie