Dosya okuma ve yazma

Java'da Girdi/Çıktı ve Akışlar

Alex Liu

Software Development Engineer

Tür dönüşümü (Casting)

  • Farklı ilkel veri türleri arasında dönüştürme

  • Genişletme (widening) dönüştürme - küçükten büyüğe otomatik

    • byte -> short -> char -> int -> long -> float -> double
// Genişletme dönüştürme - otomatik gerçekleşir
byte myByte = 8;
int myInt = myByte;
  • Daraltma (narrowing) dönüştürme - elle, büyükten küçüğe
// Daraltma dönüştürme - el ile yapılır
double myDouble = 3.14;
int myInt = (int) myDouble; // (int) notuna dikkat edin
Java'da Girdi/Çıktı ve Akışlar

Dosya okumada özel tür dönüşümünü anlama

  • int'ten char'a dönüştürme: char data = (char) 123;
// 'a' karakterinin Unicode değeri
int data = 97;
// Veriyi `int` biçiminde doğrudan yazdırın
System.out.print(data);
// Veriyi `int`'ten `char`'a çevirip yazdırın
System.out.print((char)data);
97
a
1 https://www.ascii-code.com/
Java'da Girdi/Çıktı ve Akışlar

FileReader ile dosyadan veri okuma

  • Dosya okuma için FileReader sınıfını içe aktarın
import java.io.FileReader;
  • Dosyayı okuyun, karakter karakter yazdırın ve kapatın
FileReader fr = new FileReader("example.txt");
int data = fr.read();
// Her karakteri okuyup yazdırın
while (data != -1) {
    System.out.print((char) data);
    data = fr.read();
}
fr.close(); // Kaynakları serbest bırakmak için kapatın
Java'da Girdi/Çıktı ve Akışlar

BufferedReader ile verimli okuma

  • BufferedReader - import java.io.BufferedReader;
    • Metin dosyalarını satır satır okur
    • Büyük dosyalar için daha verimlidir
// Bir BufferedReader nesnesi oluşturun
BufferedReader br = new BufferedReader(new FileReader("example.txt"));
String line;
// Dosyayı satır satır okumak için .readLine() kullanın
while ((line = br.readLine())!= null){
  System.out.println(line);
}
br.close();
Java'da Girdi/Çıktı ve Akışlar

FileWriter ile veri yazma

  • FileWriter:
    • Varsayılan olarak mevcut içeriği üzerine yazar — veri kaybını önlemek için dikkat edin!
  • FileWriter içe aktarın
import java.io.FileWriter;


// Yeni bir `FileWriter` nesnesi oluşturun FileWriter fw = new FileWriter("example.txt"); // `.write()` ile dosyaya yazın fw.write("Overwriting the file."); fw.close()
Java'da Girdi/Çıktı ve Akışlar

FileWriter ile veri ekleme

  • FileWriter
    • append moduna ayarlanırsa üzerine yazmadan dosyaya ekleme yapar

$$

// `append` modu ile `FileWriter` başlatın
FileWriter fw = new FileWriter("example.txt", true);
// Dosyaya ekleme yapın
fw.write("Appending data.");
fw.close()
Java'da Girdi/Çıktı ve Akışlar

BufferedWriter ile verimli yazma

  • BufferedWriter - import java.io.BufferedWriter;
    • Metni daha büyük bloklarla daha verimli yazar
    • Yazma işlemlerini azaltır
// Bir BufferedWriter nesnesi oluşturun
BufferedWriter bw = new BufferedWriter(new FileWriter("example.txt"));
bw.write("Writing data");

// Satır sonu eklemek için .newLine()
bw.newLine(); 
bw.close();
Java'da Girdi/Çıktı ve Akışlar

Hadi pratik yapalım!

Java'da Girdi/Çıktı ve Akışlar

Preparing Video For Download...