有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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文件中,我有一个文件夹(正常情况下),其中包含我的所有文件。类文件,并在同一目录中保存副本的名为resources的文件夹。csv文件

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

有人有什么想法吗


共 (2) 个答案

  1. # 1 楼答案

    删除第一个斜杠:

    InputStream is = this.getClass().getResourceAsStream("resources/copy.csv");
    
  2. # 2 楼答案

    getClass()。getResourceAsStream(…)将使用相对于类的路径(so inc.package dirs)。getClass()。getClassLoader()。getResourceAsStream(…)将使用绝对路径。因此,更改您的代码并获得类加载器,它就会工作