Java多種獲取項(xiàng)目路徑下的文件方式
Java多種獲取項(xiàng)目路徑下的文件
目標(biāo)文件放在項(xiàng)目的resources文件夾下 的 mytxt文件里面
文件名叫 file Test.txt

其實(shí)可以看到,項(xiàng)目運(yùn)行后
這個(gè)文件被丟到了target文件夾下

拿到這個(gè)文件的 InputStream
比如我們?cè)贔ileUtil里面寫(xiě)個(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è)參考,也希望大家多多支持腳本之家。
- JAVA獲取文件絕對(duì)路徑的方法
- java 獲取項(xiàng)目文件路徑實(shí)現(xiàn)方法
- 完美解決Java獲取文件路徑出現(xiàn)亂碼的問(wèn)題
- Java如何獲取resources下的文件路徑和創(chuàng)建臨時(shí)文件
- Java如何獲取相對(duì)路徑文件
- Java獲取文件路徑常用方法解析
- JAVA獲取當(dāng)前項(xiàng)目和文件所在路徑的實(shí)例代碼
- Java實(shí)現(xiàn)動(dòng)態(tài)獲取文件的絕對(duì)路徑
- Java獲取文件的路徑及常見(jiàn)問(wèn)題解決方案
- java獲取文件路徑所有方式的詳細(xì)介紹
相關(guān)文章
springboot配置http跳轉(zhuǎn)https的過(guò)程
SSL是為網(wǎng)絡(luò)通信提供安全以及保證數(shù)據(jù)完整性的的一種安全協(xié)議,SSL在網(wǎng)絡(luò)傳輸層對(duì)網(wǎng)絡(luò)連接進(jìn)行加密,這篇文章主要介紹了springboot配置http跳轉(zhuǎn)https的過(guò)程,需要的朋友可以參考下2023-04-04
Spring?Boot?如何生成微信小程序短連接及發(fā)送短信在短信中打開(kāi)小程序操作
最近遇到這樣的需求需要發(fā)送短信,通過(guò)短信中的短連接打開(kāi)小程序操作,下面小編給大家分享Spring?Boot?如何生成微信小程序短連接發(fā)送短信在短信中打開(kāi)小程序操作,感興趣的朋友跟隨小編一起看看吧2024-03-03
使用Spark?SQL實(shí)現(xiàn)讀取不帶表頭的txt文件
這篇文章主要為大家詳細(xì)介紹了如何使用Spark?SQL實(shí)現(xiàn)讀取不帶表頭的txt文件,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03
一文詳解Java中的動(dòng)態(tài)填充Html模版并轉(zhuǎn)PDF
在后端技術(shù)中,模板引擎和PDF生成工具是兩個(gè)非常重要的領(lǐng)域,Thymeleaf和wkhtmltopdf是這兩個(gè)領(lǐng)域的杰出代表,下面就來(lái)詳細(xì)介紹一下Thymeleaf和wkhtmltopdf的技術(shù)特點(diǎn)吧2023-12-12
基于SpringBoot+JPackage構(gòu)建獨(dú)立安裝包的操作流程
從JDK 14開(kāi)始,Java官方引入了JPackage工具(在JDK 16 正式成為標(biāo)準(zhǔn)功能),它能夠?qū)?nbsp;Java 應(yīng)用打包成特定平臺(tái)的原生安裝包,本文將介紹如何使用 JPackage 工具將 Spring Boot 項(xiàng)目打包成 Windows、macOS 或 Linux 平臺(tái)的原生安裝包,需要的朋友可以參考下2026-01-01
多線(xiàn)程如何解決for循環(huán)效率的問(wèn)題
這篇文章主要介紹了多線(xiàn)程如何解決for循環(huán)效率的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
SpringBoot如何配置Controller實(shí)現(xiàn)Web請(qǐng)求處理
這篇文章主要介紹了SpringBoot如何配置Controller實(shí)現(xiàn)Web請(qǐng)求處理,文中通過(guò)圖解示例介紹的很詳細(xì),具有有一定的參考價(jià)值,需要的小伙伴可以參考一下2023-05-05

