每日一例 | Java常用文件路徑

在實(shí)際開發(fā)過程中,有時(shí)候我們需要獲取項(xiàng)目下的一些資源文件,但是由于平時(shí)用的比較少,所以經(jīng)常需要搜一下,然后測一下,沒什么問題才會(huì)在項(xiàng)目中用起來,但是畢竟不方便,而且特別影響效率,今天我就抽點(diǎn)時(shí)間把java中常用的獲取資源路徑的方式整理下,方便后續(xù)開發(fā)使用。
常用路徑
獲取項(xiàng)目路徑
//路徑為空
File file = new File("");
// 返回結(jié)果:D:\workspace\learning\example-everyday\example-2021.05.03
System.out.println(file.getAbsoluteFile());
獲取磁盤根目錄
// 獲取當(dāng)前項(xiàng)目所在磁盤的根目錄(linux環(huán)境沒試過)
File fileRoot = new File("/");
// 返回結(jié)果:D:\
System.out.println(fileRoot.getAbsoluteFile());
獲取./路徑
// 路徑為當(dāng)前相對目錄./時(shí)
File fileCurrent = new File("./");
// 返回結(jié)果:D:\workspace\learning\example-everyday\example-2021.05.03\.
System.out.println(fileCurrent.getAbsoluteFile());
獲取.路徑
這個(gè)路徑和./表示的是一樣的路徑
// 路徑為當(dāng)前相對目錄.時(shí)
File fileCurrent2 = new File(".");
// 返回結(jié)果:D:\workspace\learning\example-everyday\example-2021.05.03\.
System.out.println(fileCurrent2.getAbsoluteFile());
獲取..路徑
..和../表示同一個(gè)路徑,用過Linux系統(tǒng)的小伙伴應(yīng)該很熟悉
// 路徑為當(dāng)前相對目錄..時(shí)
File fileparent = new File("..");
// 返回結(jié)果:D:\workspace\learning\example-everyday\example-2021.05.03\.
System.out.println(fileparent.getAbsoluteFile());
獲取當(dāng)前類的路徑
// 獲取當(dāng)前類的路徑
String resourcePath = Example.class.getResource("").getPath();
// 返回結(jié)果:/D:/workspace/learning/example-everyday/example-2021.05.03/target/classes/io/github/syske/example20210503/
System.out.println(resourcePath);
獲取classes路徑
// 獲取classes的路徑
String path = Example.class.getResource("/").getPath();
// 返回結(jié)果:/D:/workspace/learning/example-everyday/example-2021.05.03/target/classes/
System.out.println(path);
擴(kuò)展
獲取系統(tǒng)信息
獲取系統(tǒng)的各項(xiàng)參數(shù)
// 返回系統(tǒng)信息
Properties props = System.getProperties();
props.list(System.out);
參數(shù)的中文對照:
| 參數(shù) | 中文 |
|---|---|
| java.version | Java運(yùn)行時(shí)環(huán)境版本 |
| java.vendor | Java運(yùn)行時(shí)環(huán)境供應(yīng)商 |
| java.vendor.url | Java供應(yīng)商的 URL |
| java.home | Java安裝目錄 |
| java.vm.specification.version | Java虛擬機(jī)規(guī)范版本 |
| java.vm.specification.vendor | Java虛擬機(jī)規(guī)范供應(yīng)商 |
| java.vm.specification.name | Java虛擬機(jī)規(guī)范名稱 |
| java.vm.version | Java虛擬機(jī)實(shí)現(xiàn)版本 |
| java.vm.vendor | Java虛擬機(jī)實(shí)現(xiàn)供應(yīng)商 |
| java.vm.name | Java虛擬機(jī)實(shí)現(xiàn)名稱 |
| java.specification.version | Java運(yùn)行時(shí)環(huán)境規(guī)范版本 |
| java.specification.vendor | Java運(yùn)行時(shí)環(huán)境規(guī)范供應(yīng)商 |
| java.specification.name | Java運(yùn)行時(shí)環(huán)境規(guī)范名稱 |
| java.class.version | Java類格式版本號 |
| java.class.path | Java類路徑 |
| java.library.path | 加載庫時(shí)搜索的路徑列表 |
| java.io.tmpdir | 默認(rèn)的臨時(shí)文件路徑 |
| java.compiler | 要使用的 JIT編譯器的名稱 |
| java.ext.dirs | 一個(gè)或多個(gè)擴(kuò)展目錄的路徑 |
| os.name | 操作系統(tǒng)的名稱 |
| os.arch | 操作系統(tǒng)的架構(gòu) |
| os.version | 操作系統(tǒng)的版本 |
| file.separator | 文件分隔符 |
| path.separator | 路徑分隔符 |
| line.separator | 行分隔符 |
| user.name | 用戶的賬戶名稱 |
| user.home | 用戶的主目錄 |
| user.dir | 用戶的當(dāng)前工作目錄 |
項(xiàng)目路徑:
https://github.com/Syske/example-everyday
本項(xiàng)目會(huì)持續(xù)每日更新,讓我們一起學(xué)習(xí),一起進(jìn)步,遇見更好的自己,加油呀
- END -評論
圖片
表情
