简体   繁体   English

(取消)将多个项目序列化为文件

[英](De)Serializing multiple items to file

I want to serialize/deserialize multiple object from/to a file. 我想从文件到文件序列化/反序列化多个对象。 The syntax should be similar to this: 语法应与此类似:

obj.Append(byteArray);
obj.Append(byteArray);
obj.Append(byteArray);
IEnumerable<byte[]> obj.Extract();

While this is very simple to accomplish (eg, write a class that uses a filestream and protobuf-net internally), I'm wondering if there is any more elegant way of doing this. 虽然这很容易完成(例如,编写一个内部使用文件流和protobuf-net的类),但我想知道是否还有更优雅的方法可以做到这一点。 Is there any class (from a third party library), that uses a serializer to write to an filestream? 是否有任何类(来自第三方库)使用序列化程序写入文件流?

Edit: I need this as a filestream that captures video data that is sent through network. 编辑:我需要它作为捕获通过网络发送的视频数据的文件流。 So the filestream must be open for a dedicated amount of time. 因此,文件流必须在专用时间内打开。 My previous solution was to save every video frame to a new file, but it's not scalable (especially for hdd, and increasing video partners). 我以前的解决方案是将每个视频帧保存到一个新文件,但是它不可扩展(尤其是对于HDD,并且视频合作伙伴越来越多)。

What about: 关于什么:

using(var stream = File.Open(filename, FileMode.Create))
{
      var formatter = new BinaryFormatter();
      formatter.Serialize(stream, firstObjectToSerialize);
      formatter.Serialize(stream, secondObjectToSerialize);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM