【问题标题】:How to save an stringbuilder's content to text file using SaveFileDialog?如何使用 SaveFileDialog 将字符串生成器的内容保存到文本文件?
【发布时间】:2008-10-23 18:21:02
【问题描述】:

这是一个 winforms 应用程序。

在 Windows 中,我希望用户单击和按钮,然后弹出窗口应该让用户选择他们要保存文件的路径。

【问题讨论】:

    标签: winforms save


    【解决方案1】:

    你想要WriteAllText 函数。

    using (SaveFileDialog dialog = new SaveFileDialog()) {
        if (dialog.ShowDialog(this) == DialogResult.OK) {
            File.WriteAllText(dialog.FileName, yourStringBuilder.ToString());
        }
    }
    

    【讨论】:

      【解决方案2】:

      别想了……

      using System;
      using System.Collections.Generic;
      using System.ComponentModel;
      using System.Data;
      using System.Drawing;
      using System.Linq;
      using System.Text;
      using System.Windows.Forms;
      
      namespace WindowsFormsApplication2 {
      public partial class Form1 : Form {
      
          StringBuilder sb = new StringBuilder();
      
          public Form1() {
              InitializeComponent();
      
              sb.Append("This is going ");
              sb.Append("to be saved to a text file");
          }
      
          private void button1_Click(object sender, EventArgs e) {
              using (SaveFileDialog dlg = new SaveFileDialog()) {
                  if (dlg.ShowDialog() == DialogResult.OK) {
                      string fileName = dlg.FileName;
                      SaveToFile(fileName);
                  }
              }
          }
      
          private void SaveToFile(string fileName) {
              System.IO.TextWriter w = new System.IO.StreamWriter(fileName);
              w.Write(sb.ToString());
              w.Flush();
              w.Close();
          }
      }
      

      【讨论】:

      • 既然 StreamWriters 有一个内置函数可以帮你搞定,为什么还要搞砸呢?
      • 嘿,很酷...我还没有看到这个功能。我今天学到了新东西:D
      【解决方案3】:

      StringBuilder.ToString() 会给你字符串。

      This link 将向您展示如何将文本写入文件。

      This link 将向您展示如何调用 SaveFileDialog 并将流传递给它以进行保存。

      希望对您有所帮助。

      【讨论】:

        【解决方案4】:

        StringBuilder.ToString()可以在创建文件后传递给TextStream.Write()方法。

        使用SaveFileDialog class,您可以让用户以标准方式选择路径和文件名。详细例子在doc

        【讨论】:

        • OpenFileDialog 默认要求文件存在。 SaveFileDialog 类是要走的路。
        • 要保存的文件内容在stringbuilder中
        猜你喜欢
        • 2015-07-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-06
        • 2011-08-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多