Kullanılabilecek yöntemler şöyle
1. Files Sınıfı
2. BufferedReader Sınıfı
3. Scanner Sınıfı
Test İçin Büyük Dosya Yaratmak
Şöyle yaparız
public void prepFile() throws IOException {
BufferedWriter bufferedWriter = Files.newBufferedWriter(Path.of(TARGET_FILE),
StandardOpenOption.CREATE);
IntStream.rangeClosed(1,100000000)
.forEach(a-> write(bufferedWriter, a));
bufferedWriter.flush();
}
public void write(BufferedWriter bufferedWriter, int a) {
try {
bufferedWriter.write(a + "\n");
} catch (IOException e) {
...
throw new RuntimeException(e);
}
}1. Files Sınıfı
Örnek
Şöyle yaparız
Path filePath = Paths.get("C:/temp/file.txt")
//try-with-resources
try (Stream<String> lines = Files.lines( filePath )) {
lines.forEach(...); // Process the line
} catch (IOException e) {
...
}2. BufferedReader Sınıfı
Bu sınıf 2 şekilde kullanılabilir.
1. lines metodu
2. readLine metodu
lines metodu
Aslında bunun yerine Files.lines() çok daha kolay
Örnek
Şöyle yaparız
public void usingBufferedReaderAndLambda() throws IOException {
try (BufferedReader bufferedReader = Files.newBufferedReader(Path.of(TARGET_FILE))) {
bufferedReader.lines()
.forEach(...); // Process the line
}
}readLine metodu
Örnek
Şöyle yaparız
public void usingBufferedReader() throws IOException {try(FileReader fileReader = new FileReader(new File(TARGET_FILE))){BufferedReader bufferedReader = new BufferedReader(fileReader);String readLine;while((readLine = bufferedReader.readLine())!=null){// Process the line}}}
3. Scanner Sınıfı
Bir örnek burada
Hiç yorum yok:
Yorum Gönder