我想在目录中创建一个文件,但路径包含两个变量,我得到错误。
TextWriter tw = new StreamWriter(variable1+ "\" + variable2 + ".txt", true);
tw.WriteLine(textbox.Text);
tw.Close();
StreamWriter 中路径的正确格式是什么?
那么你会得到一个错误,因为"\"
它不是一个有效的字符串文字。
但是,您最好使用Path.Combine
- 以及File.AppendAllText
:
var file = Path.Combine(variable1, variable2 + ".txt");
File.AppendAllText(file, textBox.Text);
请注意,如果您仍想使用编写器,则应使用using
语句以关闭文件句柄,即使抛出异常也是如此。
您需要转义\
字符。
这些中的任何一个都可以工作:
TextWriter tw = new StreamWriter(variable1+ "\\" + variable2 + ".txt", true);
或者
TextWriter tw = new StreamWriter(variable1+ @"\" + variable2 + ".txt", true);
但是,通常认为使用Path.Combine
构建路径更好。
\
是一个转义字符。
您需要使用不使用转义字符的逐字字符串文字:
@"\"
尝试这个
TextWriter tw = new StreamWriter(variable1+ "\\" + variable2 + ".txt", true);
做反斜杠引号是字面上在字符串中写引号的一种方式,所以你需要做一个双反斜杠才能写一个反斜杠。