将richtextbox保存到文件C#
Posted
技术标签:
【中文标题】将richtextbox保存到文件C#【英文标题】:save richtextbox to file C# 【发布时间】:2013-10-13 11:24:59 【问题描述】:我无法从 Richtextbox 保存到 .txt 文件
代码如下:
if (richTextBox1.Text != String.Empty)
string dir = @"c:\\logs\\" + DateTime.Today.ToString("dd_MMM_yy");
string path = @"c:\\logs\\" + DateTime.Today.ToString("dd_MMM_yy") + "\\" + DateTime.Now.ToString("HH.mm.ss") + ".txt";
if (!Directory.Exists(dir))
Directory.CreateDirectory(dir);
if (!File.Exists(path))
File.Create(path);
richTextBox1.SaveFile(path, RichTextBoxStreamType.RichText);
else
MessageBox.Show("ERROR");
我哪里错了?!它说它无法访问该文件,因为它正在被另一个进程使用......欢迎任何帮助
谢谢, 德尼斯科
【问题讨论】:
【参考方案1】:您可以避免创建文件行,因为SaveFile
将为您创建文件。
File.Create
将返回文件的打开流,您需要在再次访问之前关闭它。如果您仍然需要使用创建文件,请执行以下操作
using(File.Create(path));
richTextBox1.SaveFile(path, RichTextBoxStreamType.RichText);
【讨论】:
SaveFile 方法足以应付任何情况。文件.创建(路径);可以删除。【参考方案2】:File.Create
返回所创建文件的 Stream。
只要你不释放它,它就会保持文件打开
您也可以使用 Stream 直接写入文件。使用using
语句有助于解决任何分配问题。
using (FileStream fs = File.Create(path))
Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");
// Add some information to the file.
fs.Write(info, 0, info.Length);
【讨论】:
SaveFile 方法足以应付任何情况。文件.创建(路径);可以删除。 感谢 MichaC 您回答了这个问题,为什么会出现问题,因为文件在创建后保持打开状态,人们可能会忘记处理。在这种情况下也是如此,SaveFile 方法就足够了,但记住人们的基本事物总是好的。【参考方案3】: richTextBox1.SaveFile(saveFile1.FileName, RichTextBoxStreamType.PlainText);
【讨论】:
【参考方案4】:保存文件
private void btnSave_Click(object sender , EventArgs e)
string _Path=@"C:\temp\Untitled.txt";
if (!File.Exists(_Path))
StreamWriter SW = new StreamWriter(_Path);
SW.WriteLine(richTextBox1.Text);
SW.Close();
else if (File.Exists(_Path))
MessageBox.Show("This File is Exists");
SaveFileDialog SFD = new SaveFileDialog();
SFD.FileName = "";
SFD.AddExtension = true;
SFD.DefaultExt = ".txt";
DialogResult result= SFD.ShowDialog();
if(string.IsNullOrEmpty( SFD.FileName))
return;
else if(result==DialogResult.OK)
StreamWriter SW = new StreamWriter(SFD.FileName);
SW.WriteLine(richTextBox1.Text);
SW.Close();
【讨论】:
您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。以上是关于将richtextbox保存到文件C#的主要内容,如果未能解决你的问题,请参考以下文章
如何将 BlockUIContainer 中 RichTextBox 的内容保存到 RTF 文件?