先贴上问题代码: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内存流
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内存流
我怀疑的是 StreamWriter 的构造函数使用的这个 Stream 参数,我通过 StreamWriter 写的数据如果是指定了文件路径的文件流,那么它就写到文件了,而我现在给它的是一个内存流,那么,数据到底存储到哪里去了,放哪里?。
MemoryStream 的使用是不是和我们的想法不太一致?
比如说我们想向它写入数据的时候,是不是要让它自己读。而想从它读的时候反而要它自己写??
memory.Pos=0
memory.WriteTo(File);
memory.Flush();
看来是我想多了。原来是 writer 没有立即写入的问题。