C#新手写储存部分时出现问题,其他信息: 空路径名是非法的。

运行时发生的问题,为:System.ArgumentException类型的未经处理的异常在 mscorlib.dll 中发生问题,其他信息: 空路径名是非法的。
private void button2_Click(object sender, EventArgs e)
{
System.IO.FileStream objfile;
saveFileDialog1.ShowDialog();
objfile = System.IO.File.Create(@saveFileDialog1.FileName);
objfile.Close();
objfile.Dispose();
System.IO.StreamWriter objfil = new System.IO.StreamWriter(@saveFileDialog1.FileName);
objfil.Write(textBox1.Text);
objfil.Close();
objfil.Dispose();
}
系统显示的好像是 objfile = System.IO.File.Create(@saveFileDialog1.FileName);这句话有问题,求问该怎么解决?

3个回答

提示参数空,检查Create的函数给的参数“@saveFileDialog1.FileName”:
1、是不是空值,
2、不是空值,那是否合法。

qq_41946147
qq_41946147 回复RicardoMTan: 多谢您的提醒,我改好了, System.IO.FileStream objfile; saveFileDialog1.ShowDialog(); if (saveFileDialog1.FileName == "") { return; } else果然加了个判断就行了,刚刚是我没领悟您的意思加个return,加了之后就没事了
大约一年之前 回复
qq_41946147
qq_41946147 回复RicardoMTan: 我给您把代码发在帖子下面吧,在这里不好看
大约一年之前 回复
qq_41946147
qq_41946147 我加的代码是:System.IO.FileStream objfile; saveFileDialog1.ShowDialog(); objfile=System.IO.File.Create(@saveFileDialog1.FileName); if (saveFileDialog1.ShowDialog() == DialogResult.OK) { if (saveFileDialog1.FileName == "") return; }
大约一年之前 回复
qq_41946147
qq_41946147 回复RicardoMTan: 加了这句问题还是存在,怎么解啊,而且问题还是一样,空路径非法。
大约一年之前 回复
RicardoMTan
飞鸟与青蛙 回复qq_41946147: if(saveFileDialog1.ShowDialog() == DialogResult.OK)
大约一年之前 回复
RicardoMTan
飞鸟与青蛙 回复qq_41946147: 你这里要加一个判断,不是所有的操作都会执行后续的创建动作。
大约一年之前 回复
RicardoMTan
飞鸟与青蛙 回复qq_41946147: Windows在保存文件的时候如果你不选择保存路径退了出去,系统会给你执行保存操作吗?
大约一年之前 回复
qq_41946147
qq_41946147 也就是如果写了保存路径他就不报错,如何什么都不填他就报错。
大约一年之前 回复
qq_41946147
qq_41946147 不是这个问题,错误是取消保存的时候弹出来的中断,(就是我只是检测这个按键是否有用时搞得,如果什么都不输入他就说空路径非法)
大约一年之前 回复

提示参数空,检查Create的函数给的参数
1、是不是空值,
2、不是空值,那是否合法。

为什么要加@,不需要加@吧。

qq_28867279
E-pal 回复qq_41946147: 没什么影响,加不加都一样。字符串常量(路径)的时候加上
大约一年之前 回复
qq_41946147
qq_41946147 写储存路径不是要加@吗?新手不是很懂。
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐