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