qq_慕婉清9181605
2019-07-24 10:20:54
是因為這里用的是斜杠,不是反斜杠是嗎,如果平時代碼里面傳入一個路徑的時候是不是也可以通過一個斜杠來表示,還是一定要用兩個反斜杠?
2 回答
onemoo
TA貢獻883條經驗 獲得超454個贊
你發的問題是不是有些歧義?
給出的第二個圖片中的?F:\day06?中的 \?是反斜線。而圖片下方的文字“是因為這里用的是斜杠......”中的“這里”指的是上圖中的嗎?? ?可那個是反斜線?。?/p>
/?是斜線
\?是反斜線
Windows操作系統使用反斜線作為路徑中目錄的分隔符。
我大致能猜到你的問題。你的疑問是不是:在代碼中以字符串形式寫出路徑,就需要寫兩條反斜線,比如這樣?a.method("F:\\day06");? ? 那為什么第二個圖片中又不需要寫兩條反斜線?
通常你遇到寫兩條反斜線的寫法的情形都是在路徑被表示成字符串字面量形式時,寫兩條線路的原因是反斜線在字符串字面量中是轉義字符!
如果你想表示的路徑是?F:\day,且你需要將這個寫成字符串,別忘了字符串中 \?作為轉義字符,會被解釋為轉義后面的字符;而在字符串中想要表示反斜線本身就需要寫成 \\。所以當你需要在代碼中把Windows操作系統的路徑寫成字符串時,就要寫成 F:\\day,這樣這個字符串本身才會表示?F:\day。
而在其他環境下可能就不會如此,比如在第二個圖片中的命令行下,\?不會被當作轉義字符解釋,所以你就照直把路徑寫出來即可,如 F:\day。
添加回答
舉報
0/150
提交
取消
