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

Java多種獲取項(xiàng)目路徑下的文件方式

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

Java多種獲取項(xiàng)目路徑下的文件

目標(biāo)文件放在項(xiàng)目的resources文件夾下 的 mytxt文件里面

文件名叫 file Test.txt

其實(shí)可以看到,項(xiàng)目運(yùn)行后

這個(gè)文件被丟到了target文件夾下

拿到這個(gè)文件的 InputStream

比如我們?cè)贔ileUtil里面寫個(gè)獲取文件流的方法

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

先拿項(xiàng)目根路徑,再拼接target/classes 以及 文件路徑

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

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

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

先拿項(xiàng)目根路徑,再拼接target/classes 以及 文件路徑

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

拿到InputStream ,該干嘛干嘛吧

總結(jié)

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

    Mybatis插件之自動(dòng)生成不使用默認(rèn)的駝峰式操作

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

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

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

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

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

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

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

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

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

最新評(píng)論