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