【发布时间】:2011-08-07 20:33:54
【问题描述】:
我正在尝试在内存中创建一个文本文件,向其中添加一些行,最后将文件保存在文本文件中。我可以处理 savedialog 部分,但我不知道如何从内存中获取文本文件。任何帮助和提示都将得到应用。
到目前为止我正在做的是:
//Initialize in memory text writer
MemoryStream ms = new MemoryStream();
TextWriter tw = new StreamWriter(ms);
tw.WriteLine("HELLO WORLD!");
tw.WriteLine("I WANT TO SAVE THIS FILE AS A .TXT FILE!);
请注意 我会调用 tw.WriteLine() 在不同的地方添加更多的行,所以我想在程序结束时保存它(所以这应该包含在 using{} 之类的东西之间)
更新
StringBuilder 似乎是一个更可靠的选择!当我使用 MemoryStream 执行此操作时,我的文本文件中出现了奇怪的剪切。
谢谢。
【问题讨论】:
-
为什么要先在内存中创建它,这会很慢还是交互式的?获得
FileSaveDialog的文件名后,为什么不直接将其写入磁盘? -
好吧,我有一个简单的程序,不想费心寻找临时路径或文件,我希望仅在操作完成后保存此文件。然后应该出现一个 FileSaveDialog,让用户将文件保存在他想要的任何地方。
-
我在我的答案中添加了一个新代码。你可以看到。它只需要在您的代码中添加另一行。
-
您的要求已添加到我的回答中。
-
@Sean87 真的不知道将写入文本文件部分包装到
using语句中的问题是什么?
标签: c# memorystream savefiledialog textwriter