如何创建文件文件?

时间:2010-04-23 09:31:52

标签: c# .net file

class Node
{
    FooType Data; // I can save Data to file with extension .foo
    void Save()
    {
       // save Data to .foo file
    }
}

现在,

class Graph
{
    List<Node> Nodes; 
    void Save()
    {
        foreach(Node node in Nodes)
        {
            node.Save();
        }
    }
}

现在,当我调用someGraph.Save();时,它会创建Nodes.Count个文件。

我希望将这些文件显示为一个扩展名为somename.graph的文件,并且能够将其作为Nodes再次阅读。

我该怎么做?有没有办法将文件捆绑到一个不同的文件中?

3 个答案:

答案 0 :(得分:1)

使用zip等存档格式。

如果没有外部库支持,您可以使用.Net的序列化机制在单个文件中存储Dictionary<string, byte[]>(每个文件的文件名和数据)。开始here

答案 1 :(得分:0)

或者Graph.Save应该将它正在使用的文件流传递给每个node.Save调用,因此Node.Save使用与其封闭的Graph相同的文件流。

答案 2 :(得分:0)

您是否可以使用System.IO.Compression命名空间中的类?具体来说,GZipStream?这不构成第三方库,因为它内置于.Net中,可从2.0及以后版本获得。