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)過(guò)編譯后,所在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ì)象,但讓還沒(méi)有指定是文件還是目錄,且java項(xiàng)目的main目錄下,自動(dòng)會(huì)有src目錄的,所以這里取巧了。
- 這樣可以獲取src目錄標(biāo)準(zhǔn)(絕對(duì)) 路徑,方便在執(zhí)行目錄中生成需要的文件或目錄。
通過(guò)比較,還是使用System.getProperty(“user.dir”)能更方便獲取目錄,只需根據(jù)需要拼接到指定的路徑即可。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java LongAdder原理解析與實(shí)戰(zhàn)應(yīng)用小結(jié)
LongAdder是Java 8中java.util.concurrent.atomic包引入的高性能計(jì)數(shù)器類,專為高并發(fā)場(chǎng)景下的數(shù)值累加操作優(yōu)化設(shè)計(jì),本文給大家介紹Java LongAdder原理解析與實(shí)戰(zhàn)應(yīng)用小結(jié),感興趣的朋友一起看看吧2025-06-06
springMVC+velocity實(shí)現(xiàn)仿Datatables局部刷新分頁(yè)方法
下面小編就為大家分享一篇springMVC+velocity實(shí)現(xiàn)仿Datatables局部刷新分頁(yè)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-02-02
基于java file 文件操作operate file of java的應(yīng)用
本篇文章介紹了,基于java file 文件操作operate file of java的應(yīng)用。需要的朋友參考下2013-05-05
IDEA安裝后找不到.vmoptions文件的問(wèn)題及解決
這篇文章主要介紹了IDEA安裝后找不到.vmoptions文件的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04
IDEA 開(kāi)發(fā)配置SparkSQL及簡(jiǎn)單使用案例代碼
這篇文章主要介紹了IDEA 開(kāi)發(fā)配置SparkSQL及簡(jiǎn)單使用案例代碼,本文通過(guò)代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08

