C# 用C语言创建和保存文件#
我需要创建并写入.dat文件。我猜这与写入.txt文件的过程几乎相同,只是使用了不同的扩展名 用简单的英语,我想知道如何: -创建一个.dat文件 -写信给它 -并使用C# 用C语言创建和保存文件#,c#,wpf,file-io,savefiledialog,C#,Wpf,File Io,Savefiledialog,我需要创建并写入.dat文件。我猜这与写入.txt文件的过程几乎相同,只是使用了不同的扩展名 用简单的英语,我想知道如何: -创建一个.dat文件 -写信给它 -并使用SaveFileDialog 有几页我一直在看,但我认为我最好的解释将来自这个网站,因为它允许我准确地陈述我需要学习的东西 下面的代码是我目前拥有的代码。基本上,它会打开一个SaveFileDialog窗口,其中有一个空白的文件:部分。映射到文件夹并按save不会保存任何内容,因为未使用任何文件。请帮助我将文件保存到不同的位置 M
SaveFileDialog
有几页我一直在看,但我认为我最好的解释将来自这个网站,因为它允许我准确地陈述我需要学习的东西
下面的代码是我目前拥有的代码。基本上,它会打开一个SaveFileDialog
窗口,其中有一个空白的文件:
部分。映射到文件夹并按save不会保存任何内容,因为未使用任何文件。请帮助我将文件保存到不同的位置
Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
dlg.FileName = "";
dlg.DefaultExt = "";
Nullable<bool> result = dlg.ShowDialog();
if (result == true)
{
string filename = dlg.FileName;
}
Microsoft.Win32.SaveFileDialog dlg=new Microsoft.Win32.SaveFileDialog();
dlg.FileName=“”;
dlg.DefaultExt=“”;
可为空的结果=dlg.ShowDialog();
如果(结果==真)
{
字符串文件名=dlg.filename;
}
我一直在看的页面:
-
-
-请注意,
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);
请注意,
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);
这取决于你对.dat的理解。如果它确实是一个具有不同文件扩展名的文本文件,那么只需创建一个扩展名为.dat的文本文件即可。如果您希望使用二进制格式,您可能希望根据您的使用情况查看序列化。我认为这是您说的第一件事(具有不同扩展名的文本文件),因为您应该能够在记事本中读取它。啊,在这种情况下,与通常的过程完全相同,只需提供一个带有扩展名的文件名。系统不在乎你给什么扩展。如果你愿意,你可以有一个.abc或.a12文件。苏,我们为什么不再次使用.txt?@Akane,因为接收此文件的程序需要接收一个.dat。这取决于你对.dat的理解。如果它确实是一个具有不同文件扩展名的文本文件,那么只需创建一个扩展名为.dat的文本文件即可。如果您希望使用二进制格式,您可能希望根据您的使用情况查看序列化。我认为这是您说的第一件事(具有不同扩展名的文本文件),因为您应该能够在记事本中读取它。啊,在这种情况下,与通常的过程完全相同,只需提供一个带有扩展名的文件名。系统不在乎你给什么扩展。如果愿意,您可以使用.abc或.a12文件。Soo,我们为什么不再次使用.txt?@Akane,因为接收此文件的程序需要接收.dat,而不是
ShowDialog
仅用于显示SaveFileDialog
窗口?我认为我没有从中收到任何文件名。在用户在SaveFileDialog
中选择了一个文件并且结果为true
之后,FileName
属性包含所选文件的完整路径。因此,SaveFileDialog
真正做的就是获取一个FileName
并指定保存它的位置?是的,SaveFileDialog
实际上只获取一个FileName
!在.NET中实际创建文件可能有多种方法。SaveFileDialog
无法保存该文件,因为它不知道该文件应包含哪些内容。ShowDialog
不只是用来显示SaveFileDialog
窗口吗?我认为我没有从中收到任何文件名。在用户在SaveFileDialog
中选择了一个文件并且结果为true
之后,FileName
属性包含所选文件的完整路径。因此,SaveFileDialog
真正做的就是获取一个FileName
并指定保存它的位置?是的,SaveFileDialog
实际上只获取一个FileName
!在.NET中实际创建文件可能有多种方法。SaveFileDialog
无法保存文件,因为它不知道该文件的内容。