免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

Maven項(xiàng)目讀取resources文件路徑問題解決方案-創(chuàng)新互聯(lián)

讀取resources下文件的方法

成都創(chuàng)新互聯(lián)咨詢熱線:18980820575,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),成都創(chuàng)新互聯(lián)網(wǎng)頁制作領(lǐng)域十余年,包括成都主動(dòng)防護(hù)網(wǎng)等多個(gè)行業(yè)擁有多年設(shè)計(jì)經(jīng)驗(yàn),選擇成都創(chuàng)新互聯(lián),為企業(yè)保駕護(hù)航!

網(wǎng)上有問答如下:

問:

  new FileInputStream("src/main/resources/all.properties")
  new FileInputStream("./src/main/resources/all.properties")

  上面兩個(gè)無法讀取maven下資源文件目錄下的文件嘛,總是提示找不到該路徑,這么寫錯(cuò)了嘛,但是我的其他maven可以讀取

答:
  要取編譯后的路徑,而不是你看到的src/main/resources的路徑。如下:

  URL url = MyTest.class.getClassLoader().getResource("conf.properties");
  File file = new File(url.getFile());

  或者

  InputStream in = MyTest.class.getClassLoader().getResourceAsStream("conf.properties");

第二種方法,也可以改成

  InputStream in = getClass().getClassLoader().getResourceAsStream("conf.properties");

同事的一種的寫法是:

  InputStream in = getClass().getResourceAsStream("conf.properties");

  然后怎么也獲取不到,最后才發(fā)現(xiàn),只要添加了.getClassLoader()就可以了

getClassLoader() 的作用

  •   getClass():取得當(dāng)前對(duì)象所屬的Class對(duì)象
  •   getClassLoader():取得該Class對(duì)象的類裝載器
  •   類裝載器負(fù)責(zé)從Java字符文件將字符流讀入內(nèi)存,并構(gòu)造Class類對(duì)象,在你說的問題那里,通過它可以得到一個(gè)文件的輸入

Class.getClassLoader()的一個(gè)小陷阱,空指針異常:

  昨天我的code總在Integer.class.getClassLoader().getResource("*********");這一句拋出空指針異常,定位為getClassLoader()返回null,查了一下jdk的文檔,原來這里還有一個(gè)陷阱:

  這里jdk告訴我們:如果一個(gè)類是通過bootstrap 載入的,那我們通過這個(gè)類去獲得classloader的話,有些jdk的實(shí)現(xiàn)是會(huì)返回一個(gè)null的,比如說我用 new Object().getClass().getClassLoader()的話,會(huì)返回一個(gè)null,這樣的話上面的代碼就會(huì)出現(xiàn)NullPointer異常.所以保險(xiǎn)起見我們最好還是使用我們自己寫的類來獲取classloader("this.getClass().getClassLoader()“),這樣一來就不會(huì)有問題。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

當(dāng)前標(biāo)題:Maven項(xiàng)目讀取resources文件路徑問題解決方案-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://m.newbst.com/article16/dggddg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站App開發(fā)做網(wǎng)站建站公司網(wǎng)站維護(hù)面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司