先贴上问题代码:MemoryStream memory = new MemoryStream();
StreamWriter writer = new StreamWriter(memory);
FileStream file = new FileStream(@"D:\Temp\test.txt", FileMode.CreateNew);

writer.Write("测试计划");
writer.WriteLine(",完毕!");

memory.WriteTo(file);

file.Dispose();
writer.Dispose();
memory.Dispose();使用中发现,通过 StreamWriter 写入的数据并没有按愿想的那样写入到文件中,搞了半天还是不明白是怎么回事。在此求救了!C#MemoryStream内存流

解决方案 »

  1.   

    FileStream file = new FileStream(@"D:\Temp\test.txt", FileMode.CreateNew, FileAccess.Write);试试呢
      

  2.   

    你看下官方的代码是怎么写的。http://msdn.microsoft.com/zh-cn/library/system.io.streamwriter.aspx
      

  3.   

    试过了的啊,那个文件里面一点内容也没有。
    我怀疑的是 StreamWriter 的构造函数使用的这个 Stream 参数,我通过 StreamWriter 写的数据如果是指定了文件路径的文件流,那么它就写到文件了,而我现在给它的是一个内存流,那么,数据到底存储到哪里去了,放哪里?。
    MemoryStream 的使用是不是和我们的想法不太一致?
    比如说我们想向它写入数据的时候,是不是要让它自己读。而想从它读的时候反而要它自己写??
      

  4.   

    用了还是一样的。writer 写完了 memory.Length 依旧是零。
      

  5.   

    writer.Flush();
    memory.Pos=0
    memory.WriteTo(File);
    memory.Flush();
      

  6.   

    Thanks!
    看来是我想多了。原来是 writer 没有立即写入的问题。