将richtextbox保存到文本文件(记事本)

Posted

技术标签:

【中文标题】将richtextbox保存到文本文件(记事本)【英文标题】:Saving richtextbox to textfile(Notepad) 【发布时间】:2014-07-23 02:58:16 【问题描述】:

如何在我的 Richtextbox 中导出文本并将其保存在记事本中?

到目前为止,这是我想要保存的内容。我需要把它放在一个字符串中吗?

if (listView1.Items[i].SubItems[1].Text == "Inactive")

   richTextBox1.Text = richTextBox1.Text + listView1.Items[i].Text + " inactive on " + lbl_time.Text + "\n";

【问题讨论】:

@GrantWinney Nah,我很好。 @GrantWinney 直到你给我链接才知道有多早。我还能发布我的解决方案吗? 【参考方案1】:

有一种方便的方法可以进行这样的快速保存,称为File.WriteAllText

File.WriteAllText(@"c:\somepath\yourFile.txt", r.Text);

如果您不需要更新 RichTextBox 中的文本,您可以像这样保存文本:

if (listView1.Items[i].SubItems[1].Text == "Inactive")

    File.WriteAllText(@"c:\somepath\yourFile.txt",
        string.Concat(richTextBox1.Text, listView1.Items[i].Text, " inactive on ", lbl_time.Text, "\n"));

请注意,这将覆盖现有文件,而不是附加到它。你没有具体说明这是否重要。

如果是这样,并且您只想将文本附加到文件中(如果存在),请改用它:

File.AppendAllText(@"c:\somepath\yourFile.txt", r.Text);

【讨论】:

我正在尝试将文件名设置为当前日期和时间,但命名文件不会及时接受:。有替代品吗? 假设我指定不覆盖现有文件,怎么办? 我的意思是保存文件而不覆盖当前内容。 好的,得到它真的很有帮助。还有一件事,\n 不适用于notepad,它只会留下一个方形字符。有没有换行的替代方法? 它在我的richtextbox中工作,虽然它仍然不会在notepad【参考方案2】:

如何填充 RichTextBox 很重要。我的意思是它正在循环填充或以任何特定的方法或事件填充。

如果您正在填充 RichTextBox 循环。那么你应该使用StringBuilder.AppendLine()StringBuilder.AppendFormat() 方法而不是连接运算符+;

StringBuilder sb = new StringBuilder();
for (int i=0; i< listView1.Items.Count; i++)

    if (listView1.Items[i].SubItems[1].Text == "Inactive")
    
        sb.AppendFormat("0 inactive on 12", listView1.Items[i].Text,lbl_time.Text,Environment.NewLine);
    

richTextBox.Text = sb.ToString();
string path = System.IO.Path.Combine(Application.StartupPath, "MyFile.txt");
File.WriteAllText(path,richTextBox.Text);

【讨论】:

【参考方案3】:

这是我的解决方案,虽然它也与给出的其他解决方案相同

                    if (listView1.Items[i].SubItems[1].Text == "Inactive")
                
                   richTextBox1.Text = richTextBox1.Text + listView1.Items[i].Text + " inactive on " + lbl_time.Text + "\n";
                   File.WriteAllText(@"C:\Documents and Settings\pamojica\My Documents\" + lbl_date.Text + ".txt", richTextBox1.Text);
                

【讨论】:

以上是关于将richtextbox保存到文本文件(记事本)的主要内容,如果未能解决你的问题,请参考以下文章

从 RichTextBox 到文本文件,一行一行

如何将EXCEL表内每行的数据复制到文本文档内,但文本里显示不要分行,以,号隔开就行了

Scinillanet,如何将其文本保存到文件中?

怎么把word文档转换成文本文档?

将richtextbox保存到文件C#

从 RichTextBox 中的每一行获取文本?