writeText
- Kotlin kursu
- Orta seviye
- Ders 96/116
- 5 dk
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
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
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
f.____("yeni içerik")
f.writeText("yeni içerik")
Açıklama: writeText verilen dizeyi dosyaya yazar.