简体   繁体   中英

(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. 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).

What about:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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