java如何獲取文件或目錄的路徑
System.getProperty(“user.dir”)
獲取當(dāng)前項(xiàng)目所在的目錄,獲取當(dāng)前項(xiàng)目所在的路徑。
這里的字符串“user.id”是屬性property的固有屬性。
// 獲取當(dāng)前項(xiàng)目所在的目錄
String property = System.getProperty("user.dir");
System.out.println("property="+property);
運(yùn)行結(jié)果如下
property=C:\Users\admin\Desktop\generate-entity-from-table-master
總結(jié):
- 該方式也同樣可以獲取項(xiàng)目打包之后,項(xiàng)目包所在的路徑。
- 這樣可以根據(jù)需要,生成java輸出的數(shù)據(jù)文件。
類名.class.getClassLoader().getResource(路徑字符串)
獲取類(java文件)經(jīng)過編譯后,所在classes字節(jié)碼目錄下位置,也是一個(gè)絕對(duì)位置。
URL resource = TPath.class.getClassLoader().getResource("org/feng/parser");
System.out.println("resource.getPath()="+resource.getPath());
運(yùn)行結(jié)果
resource.getPath()=/C:/Users/admin/Desktop/generate-entity-from-table-master/target/classes/org/feng/parser
總結(jié):
- 該getResource方法生成的是一個(gè)URL對(duì)象,
- 其實(shí)還要調(diào)用URL的getPath()才能得到路徑,但是該URL類的toString()也是輸出同樣的內(nèi)容。
file.getPath()和file.getCanonicalPath()
getPath獲取相對(duì)路徑,getCanonicalPath獲取絕對(duì)路徑,前提是需要?jiǎng)?chuàng)建file對(duì)象。
File file = new File("./src");
String path = file.getPath();
System.out.println("path="+path);
// Canonical:標(biāo)準(zhǔn)的
String canonicalPath = file.getCanonicalPath();
System.out.println("canonicalPath="+canonicalPath);
運(yùn)行結(jié)果
path=.\src canonicalPath=C:\Users\admin\Desktop\generate-entity-from-table-master\src
總結(jié):
- 已相對(duì)路徑創(chuàng)建對(duì)象,但讓還沒有指定是文件還是目錄,且java項(xiàng)目的main目錄下,自動(dòng)會(huì)有src目錄的,所以這里取巧了。
- 這樣可以獲取src目錄標(biāo)準(zhǔn)(絕對(duì)) 路徑,方便在執(zhí)行目錄中生成需要的文件或目錄。
通過比較,還是使用System.getProperty(“user.dir”)能更方便獲取目錄,只需根據(jù)需要拼接到指定的路徑即可。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java使用socket實(shí)現(xiàn)一個(gè)多線程web服務(wù)器的方法
今天小編就為大家分享一篇java使用socket實(shí)現(xiàn)一個(gè)多線程web服務(wù)器的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-10-10
springboot3整合SpringSecurity實(shí)現(xiàn)登錄校驗(yàn)與權(quán)限認(rèn)證
本文主要介紹了springboot3整合SpringSecurity實(shí)現(xiàn)登錄校驗(yàn)與權(quán)限認(rèn)證,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-04-04
Java 獲取Html文本中的img標(biāo)簽下src中的內(nèi)容方法
今天小編就為大家分享一篇Java 獲取Html文本中的img標(biāo)簽下src中的內(nèi)容方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-06-06
Java面試題沖刺第二十八天--數(shù)據(jù)庫(5)
這篇文章主要為大家分享了最有價(jià)值的三道關(guān)于數(shù)據(jù)庫的面試題,涵蓋內(nèi)容全面,包括數(shù)據(jù)結(jié)構(gòu)和算法相關(guān)的題目、經(jīng)典面試編程題等,感興趣的小伙伴們可以參考一下2021-09-09
Spring Cloud中關(guān)于Feign的常見問題總結(jié)
這篇文章主要給大家介紹了Spring Cloud中關(guān)于Feign的常見問題,文中通過示例代碼介紹的很詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。2017-02-02

