僅使用JsonUtility && File類實現Json數據讀寫

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using System.IO;

public class JsonController : MonoBehaviour
{
    public static JsonController instance;

    private void Awake()
    {
        if (instance == null) instance = this;
    }

    /// <summary>
    /// 對資源的寫入操做
    /// </summary>
    /// <typeparam name="T">數據的類型</typeparam>
    /// <param name="data">須要寫入的數據</param>
    /// <param name="path">須要寫入數據的地址</param>
    public void Write<T>(T data, string path)
    {
        string json = JsonUtility.ToJson(data);
        File.WriteAllText(path, json);
    }


    /// <summary>
    /// 建立數據文件
    /// </summary>
    /// <typeparam name="T">數據的類型</typeparam>
    /// <param name="data">須要寫入的數據</param>
    /// <param name="path">須要寫入數據的地址</param>
    public void CreateFile<T>(T data, string path)
    {
        if (!File.Exists(path))
        {
            File.Create(path).Dispose();

            string json = JsonUtility.ToJson(data);
            File.WriteAllText(path, json);
        }
    }



    /// <summary>
    /// 讀取資源
    /// </summary>
    /// <typeparam name="T">數據的類型</typeparam>
    /// <param name="path">須要讀取數據的地址</param>
    /// <returns></returns>
    public T ReadFile<T>(string path)
    {
        string json = File.ReadAllText(path);
        T data = JsonUtility.FromJson<T>(json);
        return data;
    }
}
相關文章
相關標籤/搜索