如何将XML数据库包含到jar文件中并访问它?

时间:2011-12-13 23:54:53

标签: java xml jar relative-path

目前,当jar文件和XML文件位于同一目录时,我只能让我的应用程序访问XML数据库,我希望只有一个包含XML文件的jar文件。我怎么能这样做?

private String getXmlPath() {
    String url = "";
    try {
        String cp = "Data\\QuestionList.xml";
        File f = new File(ClassLoader.getSystemResource("\\").toURI().getPath());
        url += f.getPath() + "\\" + cp;
    } catch (URISyntaxException ex) {  
        url="QuestionList.xml";
    }
    System.out.println(url);
    return url;
}

public void classifyQuestionnaire(String path)
        throws FileNotFoundException, XMLStreamException, JAXBException {
    // Parse the data, filtering out the start elements
    XMLInputFactory xmlif = XMLInputFactory.newInstance();
    FileReader fr = null;
    if (path == null) {
        fr = new FileReader(getXmlPath());
    } else {
        fr = new FileReader(path);
    }
    XMLEventReader xmler = xmlif.createXMLEventReader(fr);
    EventFilter filter = new EventFilter() {

        @Override
        public boolean accept(XMLEvent event) {
            return event.isStartElement();
        }
    };

1 个答案:

答案 0 :(得分:1)

您可以将xml文件包含在jar中。这些非类文件通常称为“资源”。这取决于你是如何创造jar的,但它通常是直截了当的。有关阅读资源的信息,请参阅Java: Load a resource contained in a jar