CodeBlanks Logo Icon CodeBlanks

Dosyadan okuma

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

Player.cs
using UnityEngine;

public class SaveReader : MonoBehaviour
{
    // Start icinde dosyaVar degiskenini tanimla ve yazdir
}

Örnek çözüm

Player.cs
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

Soru
PlayerData data = JsonUtility.____<PlayerData>(jsonString);
Cevap
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

İleri seviye bölümündeki tüm dersler