logo

Hvordan lese fil linje for linje i Java

Det er følgende måter å lese en fil linje for linje.

  • Bufret leserklasse
  • Skanner klasse

Bruker BufferedReader Class

Å bruke Java BufferedRedaer-klassen er den vanligste og enkleste måten å lese en fil linje for linje i Java. Det tilhører java.io pakke. Java BufferedReader-klassen gir readLine()-metoden for å lese en fil linje for linje. Signaturen til metoden er:

frø vs sporer
 public String readLine() throws IOException 

Metoden leser en tekstlinje. Den returnerer en streng som inneholder innholdet i linjen. Linjen må avsluttes av en hvilken som helst linjemating (' ') eller vognretur (' ').

Eksempel på lesing av en fil linje for linje ved å bruke BufferedReader-klassen

samling java

I følgende eksempel leses Demo.txt av FileReader-klassen. ReadLine()-metoden i BufferedReader-klassen leser fil linje for linje, og hver linje legges til StringBuffer, etterfulgt av en linjefeed. Innholdet i StringBuffer sendes deretter ut til konsollen.

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

Produksjon:

Hvordan lese fil linje for linje i Java

Bruke skannerklassen

Java Skanner klasse gir flere verktøymetoder sammenlignet med BufferedReader-klassen. Java Scanner-klassen gir nextLine()-metoden for å forenkle linje for linje med filens innhold. NextLine()-metodene returnerer den samme strengen som readLine()-metoden. Skannerklassen kan også lese en fil fra InputStream.

Eksempel på lesing av en fil linje for linje ved bruk av skannerklasse

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

Produksjon:

Hvordan lese fil linje for linje i Java