欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java獲取文件的路徑及常見問題解決方案

 更新時間:2020年03月27日 15:21:32   作者:岑宇  
這篇文章主要介紹了Java獲取文件的路徑及常見問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

在java中讀取讀取文件,經(jīng)常因為路徑的問題找不到,此文用于記錄如何定位文件的簡單方法。

本基于springboot做的測試,主要是構(gòu)建工程方便,所用的方法都是JDK中的方法,主要測試有”/“和沒有""的問題,以及getResourceAsStream(String string)和getResource(String string)的問題。

1.項目結(jié)構(gòu)

解釋一下,主要有兩個配置文件,a.properties和b.properties,a.properties方法java的代碼里,b.properties放在resources的配置目錄中。

編譯之后,classpath的路徑為:target/classes,斜線"/"指的也是這個路徑,所有,如果有斜線就會去這個路徑下面去找,如果沒有斜線,就會去那個類的當(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();
  }
}

以上,兩個方法都可以用來定位文件,區(qū)別有兩個:

  • 有沒有斜線,沒有斜線的話在類方法的所在package中查詢,如果有斜線,就去classpath下面查詢
  • 返回值,getResourceAsStream()返回的是InputStream,可以直接讀取。getResource()返回的是URL對象,方便獲取文件的path路徑。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • JAVA面試題 start()和run()詳解

    JAVA面試題 start()和run()詳解

    這篇文章主要介紹了JAVA面試題 啟動線程是start()還是run()?為什么?,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • 一篇文章弄懂Mybatis中#和$的區(qū)別

    一篇文章弄懂Mybatis中#和$的區(qū)別

    mybatis為我們提供了兩種支持動態(tài)sql的語法#{}以及${},兩者都是動態(tài)的向sql語句中傳入需要的參數(shù),下面這篇文章主要給大家介紹了如何通過一篇文章弄懂Mybatis中#和$區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2021-12-12
  • Java優(yōu)雅的處理 null的方法和使用

    Java優(yōu)雅的處理 null的方法和使用

    本文主要介紹了Java使用Optional優(yōu)雅的處理null值,通過Optional替代繁雜的if判空處理邏輯,具有一定的參考價值,感興趣的可以了解一下
    2025-08-08
  • 淺析Java集合中的LinkedHashSet

    淺析Java集合中的LinkedHashSet

    這篇文章主要介紹了淺析Java集合中的LinkedHashSet,LinkedHashSet?是?Java?中的一個集合類,它是?HashSet?的子類,并實現(xiàn)了?Set?接口,與?HashSet?不同的是,LinkedHashSet?保留了元素插入的順序,并且具有?HashSet?的快速查找特性,需要的朋友可以參考下
    2023-09-09
  • 關(guān)于springboot-starter-undertow和tomcat的區(qū)別說明

    關(guān)于springboot-starter-undertow和tomcat的區(qū)別說明

    這篇文章主要介紹了關(guān)于springboot-starter-undertow和tomcat的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 對ThreadLocal內(nèi)存泄漏及弱引用的理解

    對ThreadLocal內(nèi)存泄漏及弱引用的理解

    這篇文章主要介紹了對ThreadLocal內(nèi)存泄漏及弱引用的理解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • java中對象和JSON格式的轉(zhuǎn)換方法代碼

    java中對象和JSON格式的轉(zhuǎn)換方法代碼

    JSON格式可以輕松地以面向?qū)ο蟮姆绞睫D(zhuǎn)換為Java對象,下面這篇文章主要給大家介紹了關(guān)于java中對象和JSON格式的轉(zhuǎn)換方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • 關(guān)于集合和字符串的互轉(zhuǎn)實現(xiàn)方法

    關(guān)于集合和字符串的互轉(zhuǎn)實現(xiàn)方法

    下面小編就為大家?guī)硪黄P(guān)于集合和字符串的互轉(zhuǎn)實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • 使用JavaCV生成視頻縮略圖的示例詳解

    使用JavaCV生成視頻縮略圖的示例詳解

    在處理多媒體內(nèi)容時,生成視頻的縮略圖是一項常見的需求,這不僅有助于用戶快速預(yù)覽視頻內(nèi)容,還能提高用戶體驗和界面的美觀度,JavaCV是一個用于計算機(jī)視覺的開源框架,使得在Java環(huán)境中處理視頻和圖像變得簡單,本文將介紹如何使用JavaCV來生成視頻的縮略圖
    2025-07-07
  • Java并發(fā)之異步的八種實現(xiàn)方式

    Java并發(fā)之異步的八種實現(xiàn)方式

    本文主要介紹了Java并發(fā)之異步的八種實現(xiàn)方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06

最新評論