亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么路徑是兩個//,不是一個/嗎

name = name.replace(".","http://");

http://img1.sycdn.imooc.com//5a119b160001edab06490466.jpg

正在回答

5 回答

別聽他們胡說,為了轉義是反斜杠“\\”,兩個反斜杠實際代表一個反斜杠“\”。

那為什么Java中寫正斜杠“/”、“//”、“///”,甚至再多都不會有問題呢?

那是因為Java中處理流,都會使用到File這個類,在Windows環境中,File會使用WinNTFileSystem
這個工具類處理那些問題,再WinNTFileSystem類中,會把所有的正斜杠“/”都處理成反斜杠,再把多余的反斜杠“\”給去掉,最終會表示成轉義后的一個反斜杠。

可以測試一下:

public?static?void?main(String[]?args)?{
????File?file?=?new?File("C:\\\\\\Users///pc//////////Desktop\\工作日志.txt");
????System.out.println(file.getAbsolutePath());
}

輸出結果為:

C:\Users\pc\Desktop\工作日志.txt

getAbsolutePath()的源代碼為:

public?String?getAbsolutePath()?{
????return?fs.resolve(this);
}

而這個fs在Windows平臺下正是WinNTFileSystem這個類:

http://img1.sycdn.imooc.com//5a126f8a000155b009470228.jpg

http://img1.sycdn.imooc.com//5a126f8a000101ee08080357.jpg

WinNTFileSystem則處理了這些事情。

6 回復 有任何疑惑可以回復我~
#1

嘔翔 提問者

非常感謝!
2017-11-22 回復 有任何疑惑可以回復我~

java這個設計反人類

0 回復 有任何疑惑可以回復我~

重寫的findClass好像沒被用到,而且我用MyEclispe按老師那樣敲的并不會熱加載類,把老師在工廠類里用到的loadClass改成findClass會報錯


0 回復 有任何疑惑可以回復我~

沒有啊 ,感覺一個兩個三個都可以

0 回復 有任何疑惑可以回復我~
兩個?"http://"?是為了轉譯,直接寫?"/"?編譯會報錯的。


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么路徑是兩個//,不是一個/嗎

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號