我正在使用此代码从我的包中导入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)
如果我给出了文件的直接路径,那么导入工作正常。但是,一旦创建项目的jar文件并在其他系统上运行它,这将导致错误。所以我想要一种从我的包中导入文件的方法。
文件的正确路径为C:\Users\Rohan Kandwal\Documents\NetBeansProjects\Shutdown Scheduler\src\shutdown\scheduler\shutdownscheduler.xml
答案 0 :(得分:2)
尝试使用InputStream
代替File
documentbuilder.parse( xmlhandler.class.getResourceAsStream("shutdownscheduler.xml"));