readText
- Kotlin kursu
- Orta seviye
- Ders 95/116
- 5 dk
File.readText ile dosya okumayı öğrenirsin.
readText: Tüm dosyayı oku
readText() bir dosyanın tüm içeriğini tek bir String olarak döndürür. Satır sonları dize içinde \n karakteri olarak kalır. Varsayılan kodlama UTF-8'dir; readText(Charsets.UTF_8) ile açıkça belirtilebilir.
val f = File("not.txt")
f.writeText("bir\niki")
val content = f.readText()
println(content)Çıktı iki satırlık bir metindir. readText küçük ve orta boyutlu dosyalar için uygundur; belleğe tüm içeriği yükler. Çok büyük dosyalarda readLines veya useLines ile satır satır okuma tercih edilir.
Kodlama (encoding)
Dosyalar bayt dizisi olarak saklanır; metin, bir kodlama (encoding) ile baytlara çevrilir. Kotlin'de varsayılan kodlama UTF-8'dir; Türkçe karakterler de dahil tüm Unicode karakterleri destekler. Eski sistemlerden gelen dosyalar ISO-8859-9 (Türkçe için) veya windows-1254 kullanabilir.
val content = f.readText(Charsets.UTF_8)Yanlış kodlama kullanırsan Türkçe karakterler bozuk görünür (örneğin "ö" yerine "ö"). Bu yüzden kodlamayı açıkça belirtmek iyi bir alışkanlıktır. readText() parametresiz çağrıldığında UTF-8 varsayımı yapar.
Uygulama Dosyaya yaz ve readText ile oku
val f = File("not.txt") oluştur. f.writeText("Merhaba Kotlin") ile yaz. println(f.readText()) ile içeriği oku ve yazdır. import java.io.File importunu ekle.
Başlangıç kodu
import java.io.File
// File nesnesi: not.txt yolu
// dosyaya "Merhaba Kotlin" yaz
// readText ile oku ve println ile yazdır
fun main() {
// buraya yaz
}Örnek çözüm
fun main() {
val f = File("not.txt")
f.writeText("Merhaba Kotlin")
println(f.readText())
}Beklenen çıktı
Merhaba Kotlin
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Dosyayı oku
val content = f.____()
val content = f.readText()
Açıklama: readText tüm içeriği tek dize olarak okur.
2 readText kavramlarını eşle
| Kavram | Anlamı |
|---|---|
readText() |
Tüm içeriği okur |
String |
Dönüş türü |
UTF-8 |
Varsayılan kodlama |
\n |
Satır sonu |
3 readText() hangi türde değer döndürür?
- List<String>
- String Doğru cevap
- ByteArray
- Int
Açıklama: readText tüm içeriği tek bir String olarak döndürür.