2011-12-13 2 views
2

현재 XML 파일을 포함하고있는 단일 jar 파일 만 있으면 XML 파일에 대한 응용 프로그램의 액세스 권한을 XML 파일과 같은 디렉토리에 저장할 수 있습니다. 어떻게해야합니까?XML 데이터베이스를 jar 파일에 포함하고 XML 데이터베이스에 액세스하는 방법은 무엇입니까?

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

당신은 항아리에 XML 파일을 포함 할 수 있습니다. 이러한 비 클래스 파일은 일반적으로 "자원"이라고합니다. 항아리를 만드는 방법에 따라 다르지만 대개는 간단합니다. 리소스를 읽으려면 Java: Load a resource contained in a jar을 참조하십시오.

관련 문제