Ir šādi veidi, kā lasīt failu rindiņu pa rindiņai.
- BufferedReader klase
- Skeneru klase
BufferedReader klases izmantošana
Java BufferedRedaer klases izmantošana ir visizplatītākais un vienkāršākais veids, kā Java rindiņu pēc rindas lasīt. Tas pieder java.io iepakojums. Java BufferedReader klase nodrošina metodi readLine () faila lasīšanai pēc rindas. Metodes paraksts ir:
public String readLine() throws IOException
Metode nolasa teksta rindiņu. Tas atgriež virkni, kas satur rindas saturu. Rinda jābeidz ar jebkuru no rindas padeves (' ') vai karietes atgriešanas (' ').
Piemērs faila lasīšanai pēc rindas, izmantojot BufferedReader klasi
Nākamajā piemērā failu Demo.txt nolasa FileReader klase. BufferedReader klases metode readLine() nolasa failu rindiņu pēc rindas un katru rindiņu pievieno StringBuffer, kam seko rindas plūsma. Pēc tam StringBuffer saturs tiek izvadīts uz 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(); } } }
Izvade:
Izmantojot skenera klasi
Java Skeneris klase nodrošina vairāk utilītu metožu salīdzinājumā ar BufferedReader klasi. Java skenera klase nodrošina nextLine() metodi, lai atvieglotu faila satura rindiņu pēc rindas. Metodes nextLine() atgriež to pašu virkni kā metode readLine(). Skenera klase var arī lasīt failu formā InputStream.
Piemērs faila lasīšanai pēc rindas, izmantojot skenera klasi
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(); } } }
Izvade:
metodes ignorēšana Java