我试图从我的可执行。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文件。
但是此代码不能识别该文件。
有人有什么想法吗?
去掉第一个斜杠:
InputStream is = this.getClass().getResourceAsStream("resources/copy.csv");
getClass(). getresourcesstream(..)将使用相对于类的路径(所以inc.包dirs)。getClass(). getclassloader (). getresourcesstream(..)将使用绝对路径。因此,更改代码并获得类装入器,它将工作