将richtextbox保存到文件C#

将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

我在从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");
我哪里出错了?!它说它无法访问该文件,因为它正被另一个进程使用。。。欢迎任何帮助

谢谢,
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);