save richtextbox to file C#

感情迁移 提交于 2019-12-09 01:26:25

问题


I am having trouble saving from richtextbox to .txt file

here is the code:

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");

where I am going wrong ?! It says it cannot access the file because it is being used by another process... Any help would be welcome

Thanks, dnisko


回答1:


you can avoid create file line because SaveFile will create file for you.

File.Create will return open stream for the file, you need to close it before access again. Do as below If you need to use create file anyway

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



回答2:


File.Create returns the Stream of the file created.

As long as you do not dispose it, it will keep the file open

You can also use the Stream to directly write to the file. Using the using statement helps getting around any allocation issues.

        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);
        }



回答3:


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


来源:https://stackoverflow.com/questions/19344638/save-richtextbox-to-file-c-sharp

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!