当前位置:  开发笔记 > 编程语言 > 正文

在解析完成之前遇到流结束?

如何解决《在解析完成之前遇到流结束?》经验,为你挑选了2个好方法。

我试图反序列化一个流,但我总​​是得到这个错误"在解析完成之前遇到的流结束"?

这是代码:

        //Some code here
        BinaryFormatter b = new BinaryFormatter();
        return (myObject)b.Deserialize(s);//s---> is a Stream object that has been fill up with data some line over here

有谁有想法?



1> Patrick Desj..:

尝试将流的位置设置为0,不要使用对象,而是使用对象类型.

        BinaryFormatter b = new BinaryFormatter();
        s.Position = 0;
        return (YourObjectType)b.Deserialize(s);


嗨,我在这里有同样的问题,但是在插入s.Position = 0之后;我收到“流不支持搜索”

2> GWLlosa..:

确保序列化已完成,并且序列化类型与反序列化类型匹配(即,如果您使用二进制格式化序列化,请确保使用BinaryFormatter进行序列化).此外,请确保您序列化的流完全序列化,使用Stream.Flush()或其他类似的效果.


+1对序列化代码进行try/catch.
推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有