Dosyadan okuma
- Oyun Geliştirme kursu
- İleri seviye
- Ders 22/71
- 4 dk
File.ReadAllText ile kayıtlı veriyi okumayı öğrenirsin.
Dosya Kontrolü ve File.ReadAllText
Bir kayıt dosyasını okumadan önce diskte var olup olmadığını File.Exists(path) ile denetlemek olası çökmeleri önler. Dosya mevcutsa File.ReadAllText(path) çağrılarak tüm metin okunur.
using System.IO;
if (File.Exists(path)) {
string json = File.ReadAllText(path);
}Eğer dosya bulunamazsa varsayılan başlangıç değerleriyle yeni bir profil oluşturulur.
Tersine Serileştirme: JsonUtility.FromJson
Okunan JSON metnini tekrar canlı bir C# nesnesine dönüştürme sürecine tersine serileştirme (deserialization) denir. JsonUtility.FromJson<T>(json) fonksiyonu hedef türde yeni bir nesne oluşturup içini doldurur.
// JSON dizesinden nesneyi geri yukleme
PlayerData data = JsonUtility.FromJson<PlayerData>(json);
Debug.Log("Yuklenen can: " + data.health);Bu sayede oyuncunun canı, skoru ve eşyaları tam olarak kaldığı yerden belleğe aktarılır.
Uygulama Kayıt dosyası okuma akışı
Bir Start metodu tanımla. İçinde bool dosyaVar = true; tanımla ve konsola "Kayit dosyasi bulundu: " + dosyaVar yazdır.
Başlangıç kodu
using UnityEngine;
public class SaveReader : MonoBehaviour
{
// Start icinde dosyaVar degiskenini tanimla ve yazdir
}Örnek çözüm
using UnityEngine;
public class SaveReader : MonoBehaviour
{
void Start()
{
bool dosyaVar = true;
Debug.Log("Kayit dosyasi bulundu: " + dosyaVar);
}
}Beklenen çıktı
Kayit dosyasi bulundu: True
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Kayıtlı bir dosyayı açmadan önce dosyanın varlığını güvenle doğrulamak için hangi metot kullanılır?
- File.Find(path)
- File.HasFile(path)
- File.Exists(path) Doğru cevap
- File.Validate(path)
Açıklama: System.IO.File.Exists(path) metodu belirtilen yolda bir dosyanın bulunup bulunmadığını boole (true/false) olarak bildirir.
2 JSON metninden nesne üret
PlayerData data = JsonUtility.____<PlayerData>(jsonString);
PlayerData data = JsonUtility.FromJson<PlayerData>(jsonString);
Açıklama: JSON metnini belirtilen C# türünde nesneye dönüştürmek için 'FromJson' metodu çağrılır.
3 Dosyadan okuma kavramları
| Kavram | Anlamı |
|---|---|
File.Exists |
Dosyanın diskteki varlığını doğrular |
File.ReadAllText |
Dosyanın tüm metnini okur |
FromJson |
JSON metnini C# nesnesine dönüştürür |
Deserialization |
Metinden nesneye geri dönüştürme süreci |