1

我想在目录中创建一个文件,但路径包含两个变量,我得到错误。

TextWriter tw = new StreamWriter(variable1+ "\" + variable2 + ".txt", true);
tw.WriteLine(textbox.Text);
tw.Close();

StreamWriter 中路径的正确格式是什么?

4

4 回答 4

8

那么你会得到一个错误,因为"\"它不是一个有效的字符串文字。

但是,您最好使用Path.Combine- 以及File.AppendAllText

var file = Path.Combine(variable1, variable2 + ".txt");
File.AppendAllText(file, textBox.Text);

请注意,如果您仍想使用编写器,则应使用using语句以关闭文件句柄,即使抛出异常也是如此。

于 2013-08-19T20:06:38.210 回答
3

您需要转义\字符。

这些中的任何一个都可以工作:

TextWriter tw = new StreamWriter(variable1+ "\\" + variable2 + ".txt", true);

或者

TextWriter tw = new StreamWriter(variable1+ @"\" + variable2 + ".txt", true);

但是,通常认为使用Path.Combine构建路径更好。

于 2013-08-19T20:06:09.553 回答
0

\是一个转义字符

您需要使用不使用转义字符的逐字字符串文字:

@"\"
于 2013-08-19T20:06:00.930 回答
0

尝试这个

TextWriter tw = new StreamWriter(variable1+ "\\" + variable2 + ".txt", true);

做反斜杠引号是字面上在字符串中写引号的一种方式,所以你需要做一个双反斜杠才能写一个反斜杠。

于 2013-08-19T20:07:21.590 回答