從Java 桌面應用程式存取JAR 檔案中的XML 檔案
在此場景中,您嘗試存取JAR 檔案中的XML 檔案來自作為桌面應用程式運行的單獨JAR 的JAR 檔案。雖然您已成功取得檔案的 URL,但使用 String 將其傳遞給 FileReader 會導致 FileNotFoundException。
但是,您已經能夠使用帶有 ImageIcon 的 URL 從同一 JAR 讀取圖像資源建構函數。這表示您用於取得 URL 的方法是正確的。
URL url = getClass().getResource("/xxx/xxx/xxx/services.xml"); // ...
嘗試解析XML 檔案時出現問題:
XMLReader xr = XMLReaderFactory.createXMLReader(); xr.setContentHandler( this ); xr.setErrorHandler( this ); xr.parse( new InputSource( new FileReader( filename )));
解決方案:
讀取XML 檔案的錯誤方法是使用new FileReader( filename )。若要修正此問題,請使用 java.lang.Class.getResourceAsStream(String) 方法。它為名稱指定的資源提供一個InputStream,讓您可以讀取XML檔案。
URL url = getClass().getResourceAsStream("/xxx/xxx/xxx/services.xml"); // ...
以上是如何從 Java 桌面應用程式存取嵌入在 JAR 中的 XML 檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!