1

我正在使用此代码shutdownscheduler.xml从我的包中导入文件,但出现错误:

public static Document handler() throws ParserConfigurationException, SAXException, IOException{
        String s=xmlhandler.class.getResource("shutdownscheduler.xml").toString();
        File newFile=new File(s);
        DocumentBuilderFactory documentbuilderfactory=DocumentBuilderFactory.newInstance();
        DocumentBuilder documentbuilder=documentbuilderfactory.newDocumentBuilder();
        Document document=(Document)documentbuilder.parse(newFile);
        document.getDocumentElement();
        return document;
    }



Exception in thread "main" java.io.FileNotFoundException:
C:\Users\Rohan Kandwal\Documents\NetBeansProjects\Shutdown
Scheduler\file:\C:\Users\Rohan%20Kandwal\Documents\NetBeansProjects\Shutdown%20Scheduler\build\classes\shutdown\scheduler\shutdownscheduler.xml
(The filename, directory name, or volume label syntax is incorrect)

如果我给出文件的直接路径,那么导入工作正常。但是一旦 1 创建项目的 jar 文件并在其他系统上运行,这将导致错误。所以我想要一种只从我的包中导入文件的方法。

文件的正确路径是C:\Users\Rohan Kandwal\Documents\NetBeansProjects\Shutdown Scheduler\src\shutdown\scheduler\shutdownscheduler.xml

4

1 回答 1

2

尝试InputStream代替File

documentbuilder.parse( xmlhandler.class.getResourceAsStream("shutdownscheduler.xml"));
于 2013-01-15T06:25:18.560 回答