簡體   English   中英

導出到可運行的JAR后找不到資源文件

[英]Can't find resource file after exporting to a runnable JAR

我有一個看起來像這樣的項目結構:

Tester  
\-- src  
    |-- hello.java  
    \-- vocabulary.csv

我使用getResource加載csv文件:

url = this.getClass().getResource("vocabulary.csv");
System.out.println(url.getPath());
new FileReader(url.getPath());

該程序完全正常,直到我將項目導出到可運行的jar文件。 即使URL仍然有效(他打印路徑而不是null),控制台顯示:

jar:file:/home/malte/Desktop/vocs.jar!/main/vocabulary.csv
Exception in thread "main" java.io.FileNotFoundException: file:/home/malte/Desktop/vocs.jar!/main/vocabulary.csv (No such file or directory)

你能解釋一下為什么會發生這種情況以及如何解決這個問題嗎?

PS我使用Xtend而不是純Java

你需要使用

InputStream is = this.getClass().getResourceAsStream();

一旦你將源包裝為jar。 你只有一個文件: your jar 您的vocabulary.csv不再是文件系統上的獨立文件。

你可以在這里閱讀更多。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM