运行时错误尝试反序列化空流

Sow*_*Roy 0 .net c# filestream deserialization

我正在尝试deserialize从文件中的字符串列表.在这里我的代码

FileStream filestream = new FileStream(@"D:\cache.bin", FileMode.OpenOrCreate);
try
{
    BinaryFormatter binformat = new BinaryFormatter();
    _cacheFileList = (List<string>)binformat.Deserialize(filestream);
}
catch (SerializationException ex)
{
    Console.WriteLine(ex.Message);
}
finally 
{
    filestream.Close();
}
Run Code Online (Sandbox Code Playgroud)

我收到运行时错误.尝试反序列化空流.

Sam*_*Sam 9

如果要支持空文件,请首先检查文件是否为空:

if (filestream.Length == 0)
Run Code Online (Sandbox Code Playgroud)

如果是,请初始化您的数据.如果不是,则从文件中反序列化.(请注意,文件的内容应该是序列化的结果.)