将richtextbox保存到文件C#

时间:2013-10-13 11:24:59

标签: 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_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

3 个答案:

答案 0 :(得分:6)

您可以避免创建文件行,因为SaveFile将为您创建文件。

File.Create将返回该文件的开放流,您需要在再次访问之前将其关闭。请执行以下操作如果您仍需要使用创建文件

using(File.Create(path));
richTextBox1.SaveFile(path, RichTextBoxStreamType.RichText);

答案 1 :(得分:0)

File.Create返回创建的文件的流。

只要您不处理它,它将保持文件打开

您还可以使用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);
        }

答案 2 :(得分:0)

 richTextBox1.SaveFile(saveFile1.FileName, RichTextBoxStreamType.PlainText);