0

将流读入字符串时遇到问题。这是我的代码(Debug.Log 后面的注释是我得到的结果。)

public static string ToString(MemoryStream stream)
{
Debug.Log (stream.Position + " / " + stream.Length); // 1449 / 1449
stream.Position = 0;
Debug.Log (stream.Position) // 0
Debug.Log (stream.CanRead); // true
StreamReader reader = new StreamReader(stream);
Debug.Log ("Reader basestream length: " + reader.BaseStream.Length); //Reader basestream length: 1449
string text = reader.ReadToEnd();
char[] buffer = new char[stream.Length];
int charCount = reader.Read(buffer, 0, (int)stream.Length);
string anotherTry = Encoding.ASCII.GetString(stream.ToArray());
Debug.Log (anotherTry); // empty string
Debug.Log (text); // empty string
Debug.Log ("Buffer: " + buffer.Length + ";   charCount: " + charCount); // Buffer: 1449;   charCount: 0
return(text);
}

谁能告诉我我做错了什么?无法找出任何其他可能的问题..流应该包含我使用 BinaryFormatter 的游戏中的保存数据..我使用相同的版本将保存数据存储在游戏桌面版本的文件中,然后我得到一个文件里面有数据..所以流不能为空..

4

0 回答 0