如何在Java中讀取resources下的文件及資源路徑
Java讀取resources下的文件及資源路徑
在Java開發(fā)中,經(jīng)常需要讀取項(xiàng)目中resources目錄下的文件或獲取資源路徑。本文將介紹如何在Java中讀取resources下的文件,并提供相關(guān)實(shí)例來(lái)說(shuō)明。
1. 讀取resources下的文件
方式一:使用ClassLoader
public class ResourceReader {
public static void main(String[] args) {
// 通過(guò)ClassLoader讀取resources下的文件
InputStream inputStream = ResourceReader.class.getClassLoader().getResourceAsStream("test.txt");
if (inputStream != null) {
try (BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}上述代碼通過(guò)ClassLoader的getResourceAsStream方法獲取resources目錄下的test.txt文件的輸入流,然后通過(guò)BufferedReader逐行讀取文件內(nèi)容并打印。
方式二:使用Class的getResourceAsStream
public class ResourceReader {
public static void main(String[] args) {
// 通過(guò)Class的getResourceAsStream方法讀取resources下的文件
InputStream inputStream = ResourceReader.class.getResourceAsStream("/test.txt");
if (inputStream != null) {
try (BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}這種方式與方式一類似,通過(guò)Class的getResourceAsStream方法獲取resources目錄下的test.txt文件的輸入流,并使用BufferedReader逐行讀取文件內(nèi)容。
2. 獲取resource文件/路徑
方式一:使用ClassLoader
public class ResourcePath {
public static void main(String[] args) {
// 獲取resource文件的路徑
URL resourceUrl = ResourcePath.class.getClassLoader().getResource("test.txt");
if (resourceUrl != null) {
String resourcePath = resourceUrl.getPath();
System.out.println(resourcePath);
}
}
}上述代碼通過(guò)ClassLoader的getResource方法獲取resources目錄下的test.txt文件的URL,然后通過(guò)URL的getPath方法獲取文件的路徑。
方式二:使用Class的getResource
public class ResourcePath {
public static void main(String[] args) {
// 獲取resource文件的路徑
URL resourceUrl = ResourcePath.class.getResource("/test.txt");
if (resourceUrl != null) {
String resourcePath = resourceUrl.getPath();
System.out.println(resourcePath);
}
}
}這種方式與方式一類似,通過(guò)Class的getResource方法獲取resources目錄下的test.txt文件的URL,并使用URL的getPath方法獲取文件的路徑。
結(jié)論
本文介紹了如何在Java中讀取resources下的文件以及獲取resource文件的路徑。通過(guò)使用ClassLoader或Class的getResourceAsStream方法,可以輕松地讀取resources目錄下的文件。而使用ClassLoader或Class的getResource方法,則可以獲取resource文件的路徑。
到此這篇關(guān)于Java讀取resources下的文件及資源路徑的文章就介紹到這了,更多相關(guān)Java讀取resources內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于Android觸摸事件分發(fā)的原理詳析
觸摸事件分發(fā)機(jī)制一直以來(lái)都是Android中比較重要的一大塊,自定義view,各種復(fù)雜的自定義手勢(shì)交互都與觸摸事件分發(fā)機(jī)制關(guān)系密,下面這篇文章主要給大家介紹了關(guān)于Android觸摸事件分發(fā)原理的相關(guān)資料,需要的朋友可以參考下2022-01-01
Java避免死鎖_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
在有些情況下死鎖是可以避免的。本文將展示三種用于避免死鎖的技術(shù)。對(duì)java避免死鎖的相關(guān)知識(shí)感興趣的朋友一起通過(guò)本文學(xué)習(xí)吧2017-06-06
spring boot前后端傳參的實(shí)現(xiàn)
這篇文章主要介紹了spring boot前后端傳參的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01
七段小代碼解決Java程序常見(jiàn)的崩潰場(chǎng)景
這篇文章主要為大家介紹了七段小代碼解決Java程序常見(jiàn)的崩潰場(chǎng)景,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
Java計(jì)算兩個(gè)程序運(yùn)行時(shí)間的實(shí)例
下面小編就為大家?guī)?lái)一篇Java計(jì)算兩個(gè)程序運(yùn)行時(shí)間的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04
SpringBoot中間件ORM框架實(shí)現(xiàn)案例詳解(Mybatis)
這篇文章主要介紹了SpringBoot中間件ORM框架實(shí)現(xiàn)案例詳解(Mybatis),本篇文章提煉出mybatis最經(jīng)典、最精簡(jiǎn)、最核心的代碼設(shè)計(jì),來(lái)實(shí)現(xiàn)一個(gè)mini-mybatis,從而熟悉并掌握ORM框架的涉及實(shí)現(xiàn),需要的朋友可以參考下2023-07-07

