jar中找不到文件异常

swa*_*p7m 8 java

public class ABC {
    public ABC() {
        File file = new File("xyz.xml");
Run Code Online (Sandbox Code Playgroud)

但是当我运行我的罐子时如下:

java -jar filename.jar arguments....
Run Code Online (Sandbox Code Playgroud)

然后它显示错误:

java.lang.IllegalArgumentException: InputStream cannot be null
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:120)
at com.ensarm.niidle.web.proxy.ABC.<init>(ABC.java:47)
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

qrt*_*tt1 11

如果需要读取JAR中的文件内容,则不能直接使用File类.使用ClassLoader加载它:

//例如,阅读默认包中的SeleniumConfiguration.xml

InputStream input = SeleniumConfiguration.class.getResourceAsStream("/SeleniumConfiguration.xml");
Run Code Online (Sandbox Code Playgroud)

  • 是,对的。您无法打开“文件”,因为它假定您在操作系统或网络上。它不会“看到内部”罐子。很好的答案@qrtt1。你打败了我如何描述它。:) (2认同)