一个MemoryStream中有多个文件?

时间:2011-11-29 14:38:43

标签: c# memorystream

是否可以将文件列表保存到一个MemoryStream中,然后将文件保存回光盘?

1 个答案:

答案 0 :(得分:6)

好吧,有几种方法可以做到这一点,但其中一种方法就是这样做:

class MyFile
{
    public byte[] Data;
    public string FileName;
}

List<MyFile> files = GetFiles();
using (MemoryStream stream = new MemoryStream())
{
    // Serialise
    BinaryFormatter formatter = new BinaryFormatter();
    formatter.Serialize(stream, files);

    // Deserailise
    stream.Position = 0;
    List<MyFile> deserialisedFiles = (List<MyFile>)formatter.Deserialize(stream);
    SaveFiles(deserialisedFiles);
}

您应该能够大致了解SaveFilesGetFiles的实施情况。我不清楚你为什么要这么做。