如何使用 SaveFileDialog 将字符串生成器的内容保存到文本文件?
Posted
技术标签:
【中文标题】如何使用 SaveFileDialog 将字符串生成器的内容保存到文本文件?【英文标题】:How to save an stringbuilder's content to text file using SaveFileDialog? 【发布时间】:2008-10-23 18:21:02 【问题描述】:这是一个 winforms 应用程序。
在 Windows 中,我希望用户单击和按钮,然后弹出窗口应该让用户选择他们要保存文件的路径。
【问题讨论】:
【参考方案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中以上是关于如何使用 SaveFileDialog 将字符串生成器的内容保存到文本文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 SaveFileDialog.FileName 仅获取目录名称