【发布时间】:2016-03-23 18:46:49
【问题描述】:
我制作了一个按钮,所以当我点击它时,它会打开一个目录,我可以从中创建一个文本文件,我点击按钮,它会很好地打开目录,我可以为文本文件命名我想要的单击保存,但随后我收到一条错误消息,提示“mscorlib.dll 中发生了 'System.ArgumentException' 类型的未处理异常”
这是我的代码:
private void createAlgorithmsAndComplexityNotesToolStripMenuItem_Click(object sender, EventArgs e)
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "Text File|*.txt";
sfd.FileName = "Algorithms And Complexity Lecture Notes";
sfd.Title = "Algorithms And Complexity Lecture Notes";
if (sfd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string path = sfd.FileName;
StreamWriter write = new StreamWriter(File.Create("C:\\Users\antho\\Desktop\\Folder\\Uni\\Programming and data structures\\Assignment 2\\Modules"));
write.Write(writeFile);
write.Close();
}
}
【问题讨论】:
-
使用调试器..它抛出错误的哪一行..?是这条线吗
StreamWriter write = new StreamWriter(File.Create("C:\\Users\antho\\Desktop\\Folder\\Uni\\Programming and data structures\\Assignment 2\\Modules")); -
@MethodMan 是的,就是那一行,它还说路径中有非法字符。
-
那是因为你的文件路径中有空格可能你为什么不尝试写入像
"@c:\Users\antho\"这样的文件路径查看这篇文章以更轻松地创建文件名stackoverflow.com/questions/27823789/… -
你还需要在你的超长文件路径中有一个尾随
"\\"..再一次你甚至从来没有创建一个文件,因为你从来没有告诉File.CreateFilePath + FileName.txt是什么...... -
首先,你不使用文件名,savedialog 给你,但你总是写入一个名为
Modules的文件。也许已经有一个具有该名称的文件夹。其次,您忘记转义文件名中的第二个反斜杠(antho 之前的那个)。我不确定\a是否是有效字符。但它绝对不是文件路径中的有效字符,
标签: c# button text-files windows-forms-designer writefile