【发布时间】:2016-08-18 18:44:38
【问题描述】:
我正在尝试为我正在使用此代码的应用保存数据:
BinaryFormatter bf = new BinaryFormatter();
FileStream file = File.Create(Application.persistentDataPath + "/inventorySave.gd");
bf.Serialize(file, toSave);
file.Close();
我也试过这段代码:
StreamWriter sw = new StreamWriter(Application.persistentDataPath + "/inventorySave.txt");
sw.WriteLine(toSave);
print("wrote line" + toSave);
sw.Flush();
sw.Close();
但它们似乎都不起作用(我的统一崩溃并且我在控制台中没有收到任何错误)。在 for 循环中调用保存,我试图保存少于 8 个字符的字符串,代码可以在 here 找到。
【问题讨论】:
-
您是在 try-catch 块中执行此操作吗?此外,您应该在 using 块内执行 StreamWriter,然后无需显式刷新/关闭。
-
是的,在try catch里面,循环了32次,循环会不会崩溃?
-
这可以..是的。如果您的计算机速度不够快或者您正在做很多事情。 32 次似乎很多。
-
请勿出于任何原因使用“STREAM WRITER” 这是 Unity 中的无穷无尽的困惑。 stackoverflow.com/a/35941579/294884
标签: c# unity3d filestream