Існують такі способи читання файлу рядок за рядком.
сестра Кет Тимпф
- Клас BufferedReader
- Клас сканера
Використання класу BufferedReader
Використання класу Java BufferedRedaer є найпоширенішим і простим способом читання файлу рядок за рядком у Java. Це належить java.io пакет. Клас Java BufferedReader надає метод readLine() для читання файлу рядок за рядком. Сигнатура методу:
public String readLine() throws IOException
Метод читає рядок тексту. Він повертає рядок, що містить вміст рядка. Рядок має завершуватися будь-яким з переведення рядка (' ') або повернення каретки (' ').
Приклад читання файлу рядок за рядком за допомогою класу BufferedReader
У наступному прикладі Demo.txt читається класом FileReader. Метод readLine() класу BufferedReader зчитує файл рядок за рядком, і кожен рядок, доданий до StringBuffer, супроводжується переводом рядка. Потім вміст StringBuffer виводиться на консоль.
клавіші-модифікатори
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(); } } }
Вихід:
Використання класу Scanner
Java Сканер клас надає більше корисних методів порівняно з класом BufferedReader. Клас Java Scanner надає метод nextLine() для полегшення рядкового перегляду вмісту файлу. Методи nextLine() повертають той самий рядок, що й метод readLine(). Клас Scanner також може читати файл у формі InputStream.
Приклад читання файлу рядок за рядком за допомогою класу 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(); } } }
Вихід: