CodeBlanks Logo Icon CodeBlanks

writeText

File.writeText ile dosyaya yazmayı öğrenirsin.

writeText: Dosyaya yaz

writeText(text) verilen dizeyi dosyaya yazar. Eğer dosya yoksa oluşturulur; varsa içeriği tamamen üstüne yazılır (overwrite). Yani eski içerik kaybolur. Dosyanın sonuna eklemek için appendText kullanılır (sonraki ders).

val f = File("uye.txt")
f.writeText("Ayşe")
f.writeText("Fatma")   // dosyada yalnızca "Fatma" kalır

İkinci writeText çağrısı birincinin üzerine yazar; sonuçta dosyada yalnızca son içerik bulunur. Bu davranışı istemiyorsan appendText kullanmalısın. writeText UTF-8 kodlaması kullanır.

Yeni dosya oluşturma

writeText, dosya yoksa otomatik olarak yeni bir dosya oluşturur. Üst dizinler yoksa istisna fırlatır; bu yüzden f.parentFile?.mkdirs() ile dizinleri önceden oluşturmak güvenlidir. Dosya zaten varsa yalnızca içerik değişir; dosya meta verileri (izinler vb.) korunur.

val f = File("veri/çıktı.txt")
f.parentFile?.mkdirs()
f.writeText("hazır")

Burada veri dizini yoksa önce oluşturulur, sonra dosya yazılır. ?.mkdirs() güvenli çağrıdır; eğer parentFile null ise hiçbir şey yapmaz. Bu desen, dosya çıktısı üreten programlarda sık kullanılır.

Uygulama İki satırlık dosya yaz ve oku

val f = File("not.txt") oluştur. f.writeText("satır 1\nsatır 2") ile iki satırlık içerik yaz (dize içinde \n kullan). println(f.readText()) ile içeriği geri oku ve yazdır. import java.io.File importunu ekle.

Başlangıç kodu

Main.kt
import java.io.File

// File nesnesi: not.txt yolu
// dosyaya "satır 1\nsatır 2" yaz (iki satır)
// readText ile oku ve println ile yazdır
fun main() {
    // buraya yaz
}

Örnek çözüm

Main.kt
fun main() {
    val f = File("not.txt")
    f.writeText("satır 1\nsatır 2")
    println(f.readText())
}

Beklenen çıktı

satır 1
satır 2

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Mevcut bir dosyaya writeText çağrılırsa ne olur?

  • İçeriğin sonuna ekler
  • İstisna fırlatır
  • İçeriğin üzerine yazar Doğru cevap
  • Çağrıyı yok sayar

Açıklama: writeText eski içeriği siler ve yenisini yazar.

2 writeText kavramlarını eşle

Kavram Anlamı
writeText(text) Üstüne yazar
overwrite Eski içeriği siler
UTF-8 Kodlama
appendText Ekler (üstüne değil)

3 Dosyaya yaz

Soru
f.____("yeni içerik")
Cevap
f.writeText("yeni içerik")

Açıklama: writeText verilen dizeyi dosyaya yazar.

Orta seviye bölümündeki tüm dersler