課程
/后端開發(fā)
/Java
/Spring Boot熱部署
name = name.replace(".","http://");
2017-11-19
源自:Spring Boot熱部署 4-2
正在回答
別聽他們胡說,為了轉(zhuǎn)義是反斜杠“\\”,兩個(gè)反斜杠實(shí)際代表一個(gè)反斜杠“\”。
那為什么Java中寫正斜杠“/”、“//”、“///”,甚至再多都不會有問題呢?
那是因?yàn)镴ava中處理流,都會使用到File這個(gè)類,在Windows環(huán)境中,F(xiàn)ile會使用WinNTFileSystem這個(gè)工具類處理那些問題,再WinNTFileSystem類中,會把所有的正斜杠“/”都處理成反斜杠,再把多余的反斜杠“\”給去掉,最終會表示成轉(zhuǎn)義后的一個(gè)反斜杠。
可以測試一下:
public?static?void?main(String[]?args)?{ ????File?file?=?new?File("C:\\\\\\Users///pc//////////Desktop\\工作日志.txt"); ????System.out.println(file.getAbsolutePath()); }
輸出結(jié)果為:
C:\Users\pc\Desktop\工作日志.txt
getAbsolutePath()的源代碼為:
public?String?getAbsolutePath()?{ ????return?fs.resolve(this); }
而這個(gè)fs在Windows平臺下正是WinNTFileSystem這個(gè)類:
WinNTFileSystem則處理了這些事情。
嘔翔 提問者
java這個(gè)設(shè)計(jì)反人類
重寫的findClass好像沒被用到,而且我用MyEclispe按老師那樣敲的并不會熱加載類,把老師在工廠類里用到的loadClass改成findClass會報(bào)錯
沒有啊 ,感覺一個(gè)兩個(gè)三個(gè)都可以
兩個(gè)?"http://"?是為了轉(zhuǎn)譯,直接寫?"/"?編譯會報(bào)錯的。
舉報(bào)
Spring Boot熱部署的原理和實(shí)現(xiàn)
3 回答這個(gè)CLASS_PATH是什么路徑?。空也坏絙in??!
5 回答說系統(tǒng)找不到這個(gè)指定路徑 怎么這個(gè)路徑會使這樣呢?CLASS_PATH
3 回答IDEA類加載路徑常量怎么設(shè)置
1 回答為什么監(jiān)控.class文件而不是.java文件?
1 回答xml中沒有設(shè)置path,為什么訪問的時(shí)候要帶/hot,是這個(gè)xml文件名?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2017-11-20
別聽他們胡說,為了轉(zhuǎn)義是反斜杠“\\”,兩個(gè)反斜杠實(shí)際代表一個(gè)反斜杠“\”。
那為什么Java中寫正斜杠“/”、“//”、“///”,甚至再多都不會有問題呢?
那是因?yàn)镴ava中處理流,都會使用到File這個(gè)類,在Windows環(huán)境中,F(xiàn)ile會使用WinNTFileSystem
這個(gè)工具類處理那些問題,再WinNTFileSystem類中,會把所有的正斜杠“/”都處理成反斜杠,再把多余的反斜杠“\”給去掉,最終會表示成轉(zhuǎn)義后的一個(gè)反斜杠。
可以測試一下:
輸出結(jié)果為:
getAbsolutePath()的源代碼為:
而這個(gè)fs在Windows平臺下正是WinNTFileSystem這個(gè)類:
WinNTFileSystem則處理了這些事情。
2020-11-10
java這個(gè)設(shè)計(jì)反人類
2018-03-20
重寫的findClass好像沒被用到,而且我用MyEclispe按老師那樣敲的并不會熱加載類,把老師在工廠類里用到的loadClass改成findClass會報(bào)錯
2017-11-20
沒有啊 ,感覺一個(gè)兩個(gè)三個(gè)都可以
2017-11-19