Esistono i seguenti modi per leggere un file riga per riga.
rotazione dell'albero avl
- Classe BufferedReader
- Classe scanner
Utilizzo della classe BufferedReader
L'uso della classe Java BufferedRedaer è il modo più comune e semplice per leggere un file riga per riga in Java. Appartiene a java.io pacchetto. La classe Java BufferedReader fornisce il metodo readLine() per leggere un file riga per riga. La firma del metodo è:
public String readLine() throws IOException
Il metodo legge una riga di testo. Restituisce una stringa contenente il contenuto della riga. La riga deve terminare con un avanzamento riga (' ') o un ritorno a capo (' ').
Esempio di lettura di un file riga per riga utilizzando la classe BufferedReader
Nell'esempio seguente, Demo.txt viene letto dalla classe FileReader. Il metodo readLine() della classe BufferedReader legge il file riga per riga e ogni riga viene aggiunta a StringBuffer, seguita da un avanzamento riga. Il contenuto di StringBuffer viene quindi inviato alla console.
comando chown
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(); } } }
Produzione:
Utilizzando la classe Scanner
Giava Scanner La classe fornisce più metodi di utilità rispetto alla classe BufferedReader. La classe Java Scanner fornisce il metodo nextLine() per facilitare riga per riga il contenuto del file. Il metodo nextLine() restituisce la stessa stringa del metodo readLine(). La classe Scanner può anche leggere un file da InputStream.
Esempio di lettura di un file riga per riga utilizzando la classe Scanner
ordinamento delle bolle in 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(); } } }
Produzione: