在C#中创建和保存文件

时间:2014-02-04 19:55:01

标签: c# wpf file-io savefiledialog

我需要创建并写入.dat文件。我猜这与写入.txt文件的过程非常相似,只是使用不同的扩展名

用简单的英语我想知道如何:

创建一个.dat文件

- 写到它

- 使用SaveFileDialog

保存文件

我一直在关注几页,但我认为我最好的解释将来自这个网站,因为它可以让我准确说明我需要学习的内容。

以下代码是我目前的代码。基本上它会打开一个SaveFileDialog窗口,其中包含空白File:部分。映射到文件夹并按保存不会保存任何内容,因为没有使用文件。请帮我用它来将文件保存到不同的位置。

Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
dlg.FileName = "";
dlg.DefaultExt = "";

Nullable<bool> result = dlg.ShowDialog();

if (result == true)
{
    string filename = dlg.FileName;
}

我一直关注的页面:

- http://msdn.microsoft.com/en-us/library/8bh11f1k.aspx

- http://social.msdn.microsoft.com/Forums/en-US/cd0b129f-adf1-4c4f-9096-f0662772c821/how-to-use-savefiledialog-for-save-text-file

- http://msdn.microsoft.com/en-us/library/system.io.file.createtext(v=vs.110).aspx

2 个答案:

答案 0 :(得分:6)

请注意,SaveFileDialog仅生成文件名,但实际上并未保存任何内容。

var sfd = new SaveFileDialog {
    Filter = "Text Files (*.txt)|*.txt|All files (*.*)|*.*",
    // Set other options depending on your needs ...
};
if (sfd.ShowDialog() == true) { // Returns a bool?, therefore the == to convert it into bool.
    string filename = sfd.FileName;
    // Save the file ...
}

使用您从SaveFileDialog获取的文件名并执行以下操作:

File.WriteAllText(filename, contents);

如果您打算将文本写入文件,那就是全部。

您也可以使用:

File.WriteAllLines(filename, contentsAsStringArray);

答案 1 :(得分:0)

using(StreamWriter writer = new StreamWriter(filename , true))
{
  writer.WriteLine("whatever your text is");
}