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

Java多種獲取項目路徑下的文件方式

 更新時間:2024年12月12日 15:38:42   作者:小目標青年  
文章介紹了在Java項目中獲取resources文件夾下文件的InputStream的多種方法,包括使用類加載器、上下文類加載器、系統(tǒng)屬性和Paths類

Java多種獲取項目路徑下的文件

目標文件放在項目的resources文件夾下 的 mytxt文件里面

文件名叫 file Test.txt

其實可以看到,項目運行后

這個文件被丟到了target文件夾下

拿到這個文件的 InputStream

比如我們在FileUtil里面寫個獲取文件流的方法

public class FileUtil {
}

① getResourceAsStream

String filePath = "/mytxt/fileTest.txt";
InputStream inputStream = FileUtil.class.getResourceAsStream(filePath);

② getResource + getPath

String filePath = "/mytxt/fileTest.txt";
String path = FileUtil.class.getResource(filePath).getPath();
InputStream fileInputStream = new FileInputStream(path);

③ getClassLoader().getResourceAsStream

注意了:

這種方式文件路徑path初始不帶 / 杠

String filePath = "mytxt/fileTest.txt";
InputStream inputStream = FileUtil.class.getClassLoader().

getResourceAsStream(filePath);

④ Thread.currentThread().getContextClassLoader().getResource

注意了:

這種方式文件路徑path初始不帶 / 杠

String filePath = "mytxt/fileTest.txt";
String path = Thread.currentThread().getContextClassLoader().

getResource(filePath ).getPath();
InputStream fileInputStream = new FileInputStream(path);

⑤ System.getProperty

先拿項目根路徑,再拼接target/classes 以及 文件路徑

String filePath = "/mytxt/fileTest.txt";
String relativelyPath = System.getProperty("user.dir");

InputStream fileInputStream = new FileInputStream(relativelyPath + "/target/classes/" + filePath);

⑥ Paths.get("").toAbsolutePath()

先拿項目根路徑,再拼接target/classes 以及 文件路徑

String filePath = "/mytxt/fileTest.txt";
Path path = Paths.get("").toAbsolutePath();
InputStream fileInputStream = new FileInputStream(path + "/target/classes/" + filePath);

拿到InputStream ,該干嘛干嘛吧

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • RabbitMQ消息隊列實現(xiàn)延遲任務(wù)示例

    RabbitMQ消息隊列實現(xiàn)延遲任務(wù)示例

    這篇文章主要為大家介紹了RabbitMQ消息隊列實現(xiàn)延遲任務(wù)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2022-04-04
  • Java執(zhí)行JS腳本工具

    Java執(zhí)行JS腳本工具

    今天小編就為大家分享一篇關(guān)于Java執(zhí)行JS腳本工具,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • Spring Cloud Zuul路由網(wǎng)關(guān)服務(wù)過濾實現(xiàn)代碼

    Spring Cloud Zuul路由網(wǎng)關(guān)服務(wù)過濾實現(xiàn)代碼

    這篇文章主要介紹了Spring Cloud Zuul路由網(wǎng)關(guān)服務(wù)過濾實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • Java多線程鎖機制相關(guān)原理實例解析

    Java多線程鎖機制相關(guān)原理實例解析

    這篇文章主要介紹了Java多線程鎖機制相關(guān)原理實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • Comet框架Plushlet使用問題解決方案

    Comet框架Plushlet使用問題解決方案

    這篇文章主要介紹了Comet框架Plushlet使用問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • Mybatis插件之自動生成不使用默認的駝峰式操作

    Mybatis插件之自動生成不使用默認的駝峰式操作

    這篇文章主要介紹了Mybatis插件之自動生成不使用默認的駝峰式操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Java操作redis實現(xiàn)增刪查改功能的方法示例

    Java操作redis實現(xiàn)增刪查改功能的方法示例

    這篇文章主要介紹了Java操作redis實現(xiàn)增刪查改功能的方法,涉及java操作redis數(shù)據(jù)庫的連接、設(shè)置、增刪改查、釋放資源等相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08
  • JAVA實現(xiàn)感知器算法

    JAVA實現(xiàn)感知器算法

    這篇文章主要為大家詳細介紹了JAVA實現(xiàn)感知器算法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Java+Swing實現(xiàn)中國象棋游戲

    Java+Swing實現(xiàn)中國象棋游戲

    這篇文章將通過Java+Swing實現(xiàn)經(jīng)典的中國象棋游戲。文中可以實現(xiàn)開始游戲,悔棋,退出等功能。感興趣的小伙伴可以跟隨小編一起動手試一試
    2022-02-02
  • SpringSecurity6.0 如何通過JWTtoken進行認證授權(quán)

    SpringSecurity6.0 如何通過JWTtoken進行認證授權(quán)

    這篇文章主要介紹了SpringSecurity6.0 通過JWTtoken進行認證授權(quán)的過程,本文給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2025-04-04

最新評論