我无法从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
答案 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);