从包swing中导入xml文件

时间:2013-01-15 06:01:03

标签: java xml swing inputstream document

我正在使用此代码从我的包中导入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

1 个答案:

答案 0 :(得分:2)

尝试使用InputStream代替File

documentbuilder.parse( xmlhandler.class.getResourceAsStream("shutdownscheduler.xml"));