如何在不使用对话框的情况下将richtextbox数据保存到文本文件?

时间:2013-03-06 20:54:47

标签: c# .net

我正在写一个程序,它将记录我的日常生活(非常类似于日记)。我已经成功地让程序在这个阶段做了我想要的一切,除了一件事。这是自动将richtextbox数据保存到.txt文件中,其中包含创建日期和时间。我可以保存文件,但它保存在文件夹TomJ中作为记录我的生活files.txt如果没有创建文件夹“记录我的生活文件”,我想要的是它保存在文件夹中将我的生活档案记录为(日期+时间).txt。

总结我的问题:如何编辑我的代码以自动将reviewtxtbox保存在Folder Record My Life文件中,名称为date + time?

我是新手,我只花了大约6个小时使用C#,但之前我已经完成了其他一些编程工作,所以如果你能简单解释一下你的答案,我会很高兴。 :) 谢谢 我需要编辑的代码如下:

//creat directory for folders
if (!Directory.Exists(@"C:\Users\TomJ\Record My Life files")) 
{
}
else
{
    Directory.CreateDirectory(@"C:\Users\TomJ\Record My Life files");
    MessageBox.Show("Directory Created for Diary Entries");
}

private void savebutton_Click_1(object sender, EventArgs e)
{
    try
    {
        string date = datepckr.Text;
        string time = timetxtbox.Text;
        savefile.FileName = date + time;
        savefile.DefaultExt = "*.txt*";
        savefile.Filter = "TEXT Files|*.txt";
        reviewtxtbox.SaveFile(@"C:\Users\TomJ\Record My Life files\", RichTextBoxStreamType.PlainText);
        MessageBox.Show("Your day has been saved!");
    }
    catch(Exception etc)
    {
        MessageBox.Show("An error Ocurred: " + etc.Message);
    }
}

2 个答案:

答案 0 :(得分:1)

查看System.IO命名空间中的File类:

http://msdn.microsoft.com/en-us/library/system.io.file.aspx

特别是,您可能会发现File.AppendAllText或File.CreateText非常有用。

两者都将完整文件路径和文件内容作为参数,并假设您的程序对您的文件夹具有写入权限,该文件将根据您使用的函数调用附加,创建或替换。

一个例子是:

string folder = @"C:\Users\TomJ\Record My Life files\" 
string fileName = "testFile.txt";  

File.AppendAllText(folder + fileName, "test text to write to the file");

答案 1 :(得分:0)

您可以使用File.WriteAllText(path, contents)。这样的事情应该有效:

//creat directory for folders
if (!Directory.Exists(@"C:\Users\TomJ\Record My Life files")) 
{
}
else
{
   Directory.CreateDirectory(@"C:\Users\TomJ\Record My Life files");
   MessageBox.Show("Directory Created for Diary Entries");
}

private void savebutton_Click_1(object sender, EventArgs e)
{
  try
  {
    string content = new TextRange(reviewtxtbox.Document.ContentStart, reviewtxtbox.Document.ContentEnd).Text;
    string date = datepckr.Text;
    string time = timetxtbox.Text;
    string path = @"C:\Users\TomJ\Record My Life files\" + date + time + ".txt";
    File.WriteAllLines(path,content);
    MessageBox.Show("Your day has been saved!");
  }
  catch(Exception etc)
  {
    MessageBox.Show("An error Ocurred: " + etc.Message);
  }
}