Java InputStream无法从JAR中读取文件

我试图从我的可执行文件.jar文件中读取一个文件,但它不断获取空值。

我有这个代码:

public DanceEventTicketScanner(String txtfile){ sv = new ScannerView(this); findcode = false; InputStream is = this.getClass().getResourceAsStream("/resources/copy.csv"); if (is == null) JOptionPane.showMessageDialog(null, "Resource not located."); } 

在JAR文件中,我(正常情况下)包含所有.class文件的文件夹,并在同一目录中包含一个名为resources的文件夹,其中包含copy.csv文件。

但是,此代码无法识别该文件。

有没有人有任何想法?

删除第一个slach

 InputStream is = this.getClass().getResourceAsStream("resources/copy.csv"); 

getClass()。getResourceAsStream(..)将使用相对于类的路径(所以inc。包dirs)。 getClass()。getClassLoader()。getResourceAsStream(..)将使用绝对路径。 因此,更改您的代码并获取类加载器,它将工作。