有没有什么好的方法来序列化和反序列化c#中的大文件(大于10M)?
提前谢谢。
发布于 2009-12-24 00:07:09
你可以查看我对这个问题的回答here (还有其他各种相关的答案)。
我的方法使用BinaryReader和BinaryWriter来提高性能。
我在最近的一个项目中使用了这种方法对50MB文件进行反序列化,与内置序列化或Xml序列化(我的数据集需要10分钟)相比,它非常快(不到5秒)。
发布于 2009-12-24 00:21:03
对小文件或大文件进行反序列化没有任何区别。你只需要确保你不会将非常大的文件反序列化到内存中,这会给你带来OOM。
当然,大文件需要更多的时间。如果这使您的用户界面没有响应,那么您将需要在后台线程中执行此处理。BackgroundWorker就是一个典型的解决方案。
顺便说一句,你的问题太模糊了。
发布于 2009-12-24 04:01:45
您确定序列化/反序列化是处理这么多数据的正确方法吗?也许像SQLite这样的客户端数据库是更好的解决方案,您可以在其中查询所需的确切数据,而不只是将所有内容加载到内存中?
https://stackoverflow.com/questions/1953643
复制相似问题