c# - 在 C# 中创建和保存文件

标签 c# wpf file-io savefiledialog

我需要创建并写入一个 .dat 文件。我猜这与写入 .txt 文件的过程几乎相同,只是使用了不同的扩展名

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

-创建一个.dat文件

-写给它

-并使用SaveFileDialog保存文件

我一直在查看一些页面,但我认为我最好的解释来自这个网站,因为它让我能够准确地陈述我需要学习的内容。

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

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

最佳答案

请注意,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);

关于c# - 在 C# 中创建和保存文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21562082/

相关文章:

c# - Dictionary 是否损坏或 GetHashCode() 应该仅基于不可变成员?

c# - 如何从 C# 调用 SHChangeNotify 而不会出现错误 14007

c# - 哪些对象将进入 Stack,哪些进入 Heap,为什么?

wpf - 如何在MVVM中实现分页?

WPF ShowDialog 立即返回

java - Junit测试后临时文件没有被删除

c# - Ninject:通过属性进行拦截,而不从 InterceptAttribute 派生

WPF,滚动条拇指向后显示

c - 如何在 C 中创建一个具有设置权限/时间/等的文件?

perl - 如何用Perl将指定格式的数据写入二进制文件?