这是我的第一个问题,英语不是我的第一语言,所以请全心投入。
基本上我的程序将数据保存在.js文件中。我使用SaveFileDialog方法设置路径并使用.FileName设置... well文件名。我就是这样做的
private void parcourir_Click(object sender, EventArgs e)
{
SaveFileDialog exportJSFile = new SaveFileDialog();
// Getting year, month and day of the day to generate the file name
DateTime date = DateTime.Today;
exportJSFile.FileName = date.Year + "_" + date.Month + "_" + date.Day + "_ct.js";
if (exportJSFile.ShowDialog() == DialogResult.OK)
{
this.JSfilePath.Text = exportJSFile.FileName;
}
}
然后我使用StreamWriter在我的文件中写入数据
// Writing the first block (header) of data into the .js file
System.IO.StreamWriter objWriterFirstBlock;
objWriterFirstBlock = new System.IO.StreamWriter(@JSfilePath.ToString());
objWriterFirstBlock.Write(firstBlock);
objWriterFirstBlock.Close();
当我调试它时,我收到来自此行的上述错误消息:
objWriterFirstBlock = new System.IO.StreamWriter(@JSfilePath.ToString());
我在没有@的情况下尝试了相同的命令,结果相同。当我使用对话框设置路径名称时,路径显示在文本框中,似乎是正确的。当我在调试器中查询JSfilePath.ToString()的值时,它会显示如下路径:
@JSfilePath = {Text = "C:\\Users\\admin\\Documents\\2014_3_5_ct.js"}
有人可以告诉我什么是错的
答案 0 :(得分:6)
假设JSfilePath
是TextBox
,您可能会在ToString()
本身上使用TextBox
方法,这不会返回您要查找的内容。
如果您将其更改为JSfilePath.Text
,则应该为您解决此问题:
objWriterFirstBlock = new System.IO.StreamWriter(JSfilePath.Text);