将richtextbox保存到文件C#
我在从richtextbox保存到.txt文件时遇到问题 代码如下:将richtextbox保存到文件C#,c#,save,richtextbox,C#,Save,Richtextbox,我在从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_y
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");
我哪里出错了?!它说它无法访问该文件,因为它正被另一个进程使用。。。欢迎任何帮助
谢谢,
dnisko
文件。Create
返回所创建文件的流
只要您不处理它,它就会保持文件的打开状态
您还可以使用流直接写入文件。使用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
将为您创建文件
File.Create
将返回文件的打开流,您需要关闭它才能再次访问。如果仍然需要使用“创建文件”,请执行以下操作
using(File.Create(path));
richTextBox1.SaveFile(path, RichTextBoxStreamType.RichText);
SaveFile方法足以处理任何情况。创建(路径);可以删除。Thx to MichaC您回答了以下问题:为什么会出现问题?因为文件创建后仍处于打开状态,人们可能会忘记处理。在这种情况下,SaveFile方法就足够了,但是记住基本的东西对人们来说总是很好的。SaveFile方法足以处理任何情况。创建(路径);可以删除。
richTextBox1.SaveFile(saveFile1.FileName, RichTextBoxStreamType.PlainText);