Commit 6f08a734 by Patryk Czarnik

odczyt za pomocą Scanner i BufferedReader

parent 07faea00
package p11_pliki;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Odczyt1_Scanner {
public static void main(String[] args) {
try(Scanner scanner = new Scanner(new File("pliki/pan_tadeusz.txt"))) {
while(scanner.hasNextLine()) {
String linia = scanner.nextLine();
System.out.println(linia);
}
} catch(FileNotFoundException e) {
e.printStackTrace();
}
}
}
package p11_pliki;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Odczyt2_BufferedReader {
// Scanner ma różne fajne możliwości, m.in. obsługa wyrażeń regularnych, dzielenie tekstu na słowa, odczyt liczb...
// Ale klasa BufferedReader, która też potrafi dzielić plik na linie, czyta pliki ok 1.5 razy szybciej niż Scanner.
// W tej wersji używam starego stylu tworzenia obiektu (konstruktory) i piszę pętle z break.
public static void main(String[] args) {
try(BufferedReader input = new BufferedReader(new FileReader("pliki/pan_tadeusz.txt"))) {
while(true) {
String linia = input.readLine();
if(linia == null)
break;
System.out.println(linia);
}
} catch(IOException e) {
e.printStackTrace();
}
}
}
package p11_pliki;
import java.io.BufferedReader;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
public class Odczyt3_BufferedReader {
// Scanner ma różne fajne możliwości, m.in. obsługa wyrażeń regularnych, dzielenie tekstu na słowa, odczyt liczb...
// Ale klasa BufferedReader, która też potrafi dzielić plik na linie, czyta pliki ok 1.5 razy szybciej niż Scanner.
// W tej wersji tworzę BufReader z pomocą klasy Files, a w pętli warunek wpisuję do while.
public static void main(String[] args) {
try(BufferedReader input = Files.newBufferedReader(Paths.get("pliki/pan_tadeusz.txt"))) {
String linia;
while((linia = input.readLine()) != null) {
System.out.println(linia);
}
} catch(IOException e) {
e.printStackTrace();
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment