我想創建一個文件到一個目錄,但路徑包含兩個變量,我得到錯誤。如何構建包含變量的路徑?
TextWriter tw = new StreamWriter(variable1+ "\" + variable2 + ".txt", true);
tw.WriteLine(textbox.Text);
tw.Close();
這是StreamWriter中路徑的正確格式嗎?
我想創建一個文件到一個目錄,但路徑包含兩個變量,我得到錯誤。如何構建包含變量的路徑?
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
語句,因此文件句柄即使拋出異常也會關閉。
我收到錯誤「給定路徑的格式不受支持。」在File.AppendAlltet命令中,而該文件未被創建。我不知道我是否清楚,但我想將variable2.txt保存到目錄變量1中。 –
@ D-Lef:那麼這就是我給出的代碼將做的 - 但只有當'變量1'和'變量2'的值是適當的。 *這些變量的值是什麼? –
是的,你說得對,variable2的值不合適。它等於一個datetimepicker的ShortTimeString,它包含空格,如「12:43 a.m.」。我不得不想一些其他的方式來使用它。謝謝你的時間! –
\
是轉義字符。
您需要使用逐字字符串中,不使用轉義字符:
@"\"
你需要躲避\
字符。
這些要麼將工作:
TextWriter tw = new StreamWriter(variable1+ "\\" + variable2 + ".txt", true);
或
TextWriter tw = new StreamWriter(variable1+ @"\" + variable2 + ".txt", true);
但是,它通常被認爲最好使用Path.Combine
來構建路徑。
爲什麼downvote? –
試試這個
TextWriter tw = new StreamWriter(variable1+ "\\" + variable2 + ".txt", true);
做反斜槓引號是一個字符串字面寫引號的方式,所以你需要做一個雙反斜線爲了寫一個反斜槓。
未來,請指出*您收到的錯誤*,而不是僅僅表明有*錯誤。 –