logo

Com llegir un fitxer línia per línia a Java

Hi ha maneres següents de llegir un fitxer línia per línia.

  • Classe BufferedReader
  • Classe d'escàner

Utilitzant la classe BufferedReader

L'ús de la classe Java BufferedRedaer és la forma més comuna i senzilla de llegir un fitxer línia per línia a Java. Pertany a java.io paquet. La classe Java BufferedReader proporciona el mètode readLine() per llegir un fitxer línia per línia. La signatura del mètode és:

 public String readLine() throws IOException 

El mètode llegeix una línia de text. Retorna una cadena que conté el contingut de la línia. La línia s'ha d'acabar amb qualsevol avançament de línia (' ') o retorn de carro (' ').

Exemple de lectura d'un fitxer línia per línia utilitzant la classe BufferedReader

A l'exemple següent, la classe FileReader llegeix Demo.txt. El mètode readLine() de la classe BufferedReader llegeix el fitxer línia per línia, i cada línia s'afegeix a StringBuffer, seguida d'un salt de línia. El contingut del StringBuffer s'envia a la consola.

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

Sortida:

Com llegir un fitxer línia per línia a Java

Ús de la classe Scanner

Java Escàner La classe proporciona més mètodes d'utilitat en comparació amb la classe BufferedReader. La classe Java Scanner proporciona el mètode nextLine() per facilitar el contingut del fitxer línia per línia. Els mètodes nextLine() retornen la mateixa cadena que el mètode readLine(). La classe Scanner també pot llegir un fitxer del formulari InputStream.

Exemple de lectura d'un fitxer línia per línia utilitzant la classe 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(); } } } 

Sortida:

Com llegir un fitxer línia per línia a Java