导出带有资源 JAR 的 JAR



我一整天都在试图解决这个问题,但徒劳无功!!

基本上,我想导出一个带有imagestxt文件的JAR(后者可能是audio文件)。

发现我需要在我应该添加我的资源中创建一个新文件夹,我做到了。

然后我发现我应该使用类似的东西:

pan.add(new JLabel(new ImageIcon(getClass().getResource("/131868.jpg"))));

而不是我做的pan.add(new JLabel(new ImageIcon("/131868.jpg")));

但是对于我的文本文件

BufferedReader br = new BufferedReader(new FileReader("dictionnaire.txt"));

我曾经BufferedReader br = new BufferedReader(new FileReader((getClass().getResource("dictionnaire.txt")).toString));但我得到了一个NullPointerException

没有它,当我制作 JAR 文件并按rar打开它时,我找不到我的资源文件夹!!!求救

一个嵌入的资源不能像File一样对待,不要把它当成一个文件,它只会让你更加困惑,它是一个"资源",需要区别对待

而不是

BufferedReader br = new BufferedReader(new FileReader("dictionnaire.txt"));

BufferedReader br = new BufferedReader(new FileReader((getClass().getResource("dictionnaire.txt")).toString)); 

您将需要使用类似...

BufferedReader br = new BufferedReader(
    new InputStreamReader(getClass().getResourceAsStream("dictionnaire.txt"));

Class#getResource会返回一个URL,许多对象都乐于处理一个URL,但是必须得到一个URLInputStream可能会很混乱,所以Class#getResourceAsStream使得在一次调用中更容易实现这一点

最新更新