2

次の方法でストリームをファイルに保存しました。

public void SaveTest(DataObject data)
{
    var fullPath = Path.Combine(Path.GetTempPath(), data.Descriptor.Name);
    var fileStream = new FileStream(Path.Combine(fullPath, ".content"), FileMode.CreateNew);
    data.Content.CopyTo(fileStream);
    fileStream.Close();
    var information = new XElement("Test Information",
                                        new XAttribute("Name", data.Descriptor.Name),
                                        new XAttribute("Description", data.Descriptor.Description),
                                        new XAttribute("Owner", data.Descriptor.Owner)
                                        );
    information.Save(Path.Combine(fullPath, ".information"));
}

DataObjectテストのコンテンツであるストリームと、保存したい3つのフィールドを持つ記述子が含まれています。
次に、これらのファイルを読み取るメソッドが必要です。また、.contentファイルを文字列ではなくストリームとして読み取る必要があります。どうやってやるの?

4

1 に答える 1

3

さて、あなたはそれをストリームとして簡単に開くことができます:

using (var stream = File.OpenRead(path))
{
    ...
}

または、ロット全体をバイト配列として読み取ることができます。

byte[] data = File.ReadAllBytes(path);

(必要に応じて、それをaでラップできMemoryStreamます。)

于 2012-12-13T10:26:54.900 に答える