Java獲取文件的路徑及常見(jiàn)問(wèn)題解決方案
在java中讀取讀取文件,經(jīng)常因?yàn)槁窂降膯?wèn)題找不到,此文用于記錄如何定位文件的簡(jiǎn)單方法。
本基于springboot做的測(cè)試,主要是構(gòu)建工程方便,所用的方法都是JDK中的方法,主要測(cè)試有”/“和沒(méi)有""的問(wèn)題,以及getResourceAsStream(String string)和getResource(String string)的問(wèn)題。
1.項(xiàng)目結(jié)構(gòu)

解釋一下,主要有兩個(gè)配置文件,a.properties和b.properties,a.properties方法java的代碼里,b.properties放在resources的配置目錄中。
編譯之后,classpath的路徑為:target/classes,斜線"/"指的也是這個(gè)路徑,所有,如果有斜線就會(huì)去這個(gè)路徑下面去找,如果沒(méi)有斜線,就會(huì)去那個(gè)類的當(dāng)前坐在路徑去找。
2.例子
public class TestPath {
public static void main(String[] args) {
TestPath t = new TestPath();
//在當(dāng)前TestPath類所在的包查詢
InputStream a = t.getClass().getResourceAsStream("a.properties");
//在classpath路徑下進(jìn)行查詢
InputStream b = t.getClass().getResourceAsStream("/b.properties");
//在當(dāng)前TestPath類所在的包查詢
URL url_a = t.getClass().getResource("a.properties");
//在classpath路徑下進(jìn)行查詢
URL url_b = t.getClass().getResource("/b.properties");
System.out.println();
}
}
以上,兩個(gè)方法都可以用來(lái)定位文件,區(qū)別有兩個(gè):
- 有沒(méi)有斜線,沒(méi)有斜線的話在類方法的所在package中查詢,如果有斜線,就去classpath下面查詢
- 返回值,getResourceAsStream()返回的是InputStream,可以直接讀取。getResource()返回的是URL對(duì)象,方便獲取文件的path路徑。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于springboot-starter-undertow和tomcat的區(qū)別說(shuō)明
這篇文章主要介紹了關(guān)于springboot-starter-undertow和tomcat的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
對(duì)ThreadLocal內(nèi)存泄漏及弱引用的理解
這篇文章主要介紹了對(duì)ThreadLocal內(nèi)存泄漏及弱引用的理解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
java中對(duì)象和JSON格式的轉(zhuǎn)換方法代碼
JSON格式可以輕松地以面向?qū)ο蟮姆绞睫D(zhuǎn)換為Java對(duì)象,下面這篇文章主要給大家介紹了關(guān)于java中對(duì)象和JSON格式的轉(zhuǎn)換方法,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12
關(guān)于集合和字符串的互轉(zhuǎn)實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇關(guān)于集合和字符串的互轉(zhuǎn)實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08
Java并發(fā)之異步的八種實(shí)現(xiàn)方式
本文主要介紹了Java并發(fā)之異步的八種實(shí)現(xiàn)方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06

