首页 > 解决方案 > 如何保存可读的 Unity 文件?

问题描述

我正在保存每个更新函数的模拟状态。这只是一个整数列表,表示我得到的人口数量。每次更新我都会将当前人口数量添加到列表中,如果数量为 0,我将停止执行并将列表保存在文件中。一切都很好,但我在保存状态下得到的是:

˘ ˘


是否可以“正常”保存它,例如:5,6,7,10,12,3,0?我知道如何在加载程序期间对其进行解码,但事实并非如此。我想正常读取txt文件来提取它,这样我就可以从中制作一个情节。这是一个保存代码:



    public static void saveData (List<int> data){

        BinaryFormatter formatter = new BinaryFormatter();
        string path = Application.persistentDataPath + "/dane.txt";
        FileStream stream = new FileStream(path, FileMode.Create);

        DataToSave datatosave = new DataToSave(data);

        formatter.Serialize(stream, datatosave);
        stream.Close();
    }

}

这是我之前使用的 DataToSave:

public class DataToSave {

    List<int> data;

    public DataToSave (List<int> list){
        data = list;
    }
}

提前致谢。

标签: c#unity3dserializationsave

解决方案


确保using System.io;在顶部添加。

然后,简单地说:

string path = @(Application.persistentDataPath + "/dane.txt");

System.IO.File.WriteAllText(path, string.Join(", ", data));

有关更多信息,请参阅此链接:https ://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/file-system/how-to-write-to-a-text-file


推荐阅读