IDEA如何加載resources文件夾下文件相對路徑
IDEA加載resources文件夾下文件相對路徑
今天碰到了一個加載文件的相對路徑問題
出現(xiàn)異常
如下:

目錄結(jié)構(gòu)

讀取文件
的代碼如下:
public void load(String path) {
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(path));
String line = "";
while ((line = br.readLine()) != null) {
m_tbl.put(Integer.parseInt(line), true);
}
br.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (NumberFormatException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}正斜杠,反斜杠,正反雙斜杠,還有加上上一級目錄我都試過。。。
最后運行出來的都是一個反斜杠,實在是傷腦筋,而且這段代碼在 eclipse 下運行沒問題,我拷貝到 idea 下的 resources 文件夾下了就報異常。
后來研究之后得出下面兩種解決方案:
1、采用絕對路徑;
2、還是使用相對路徑,這時用類加載器加載文件路徑。
代碼如下:
public void load(String path) {
BufferedReader br = null;
try {
InputStream in = SetTable.class.getClassLoader().getResourceAsStream(path);
br = new BufferedReader(new InputStreamReader(in, "UTF-8"));
String line = "";
while ((line = br.readLine()) != null) {
m_tbl.put(Integer.parseInt(line), true);
}
br.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (NumberFormatException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}InputStreamReader 相比于 FileReader 還有一個優(yōu)勢是 可以設(shè)置編碼。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java泛型之協(xié)變與逆變及extends與super選擇
這篇文章主要介紹了Java泛型之協(xié)變與逆變及extends與super選擇,文章圍繞主題內(nèi)容展開詳細(xì)內(nèi)容介紹,需要的小伙伴可以參考一下2022-05-05
Eclipse/MyEclipse轉(zhuǎn)IntelliJ IDEA完全攻略(圖文)
這篇文章主要介紹了Eclipse/MyEclipse轉(zhuǎn)IntelliJ IDEA完全攻略(圖文),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01
spring-data-elasticsearch @Field注解無效的完美解決方案
這篇文章主要介紹了spring-data-elasticsearch @Field注解無效的完美解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07

