FileStream.Write不写入文件

时间:2009-11-09 22:59:16

标签: c# file filestream

我正在通过WCF传递一些Base64编码的字符串,我正在尝试将它们写入文件。但是,尽管我的FileStream对象的长度大于0,但我在磁盘上的文件仍为空。

FileStream fs = new FileStream(Config.Instance.SharedSettings.SaveDir + StudyInstance.StudyId + "\\tmp.ext", FileMode.Create);

EncodeBlock eb = new EncodeBlock();

while (eb.Part != eb.OfParts || eb.OfParts == 0)
{
    eb.ToDecode = ps.StudyService.GetInstancePart(StudyInstance, s, eb.Part+ 1, Config.Instance.ClientSettings.AppData);
    eb = Base64Encoder.Decode(eb);
    fs.Write(eb.ToEncode, 0, eb.ToEncode.Length);
}

fs.Close();

eb.ToEncode的长度始终大于0,fs.Length始终大于0,但我的"tmp.ext"文件已创建,但仍为空。 fs.CanWrite总是如此。

1 个答案:

答案 0 :(得分:8)

您是否尝试过调用FileStream.Flush?

在关闭流之前调用它。

您还应该使用“using”语句来确保清理流。