2013-05-13 66 views
1

我在Eclipse中使用像這樣創建和可執行的JAR文件使用一個外部XML文件

File matches = new File("matches.xml"); 

該文件位於默認包中的所有其他類的EML文件的Java應用程序。當我創建JAR時,它將它捆綁在XML文件中。我的應用程序要求我能夠對XML文件進行更改。我如何設置它,以便JAR可以引用自身之外的XML文件?

回答

1

如果您使用的是new File("matches.xml"),它根本不會在jar文件中使用文件。它只會查看外部文件系統。

如果您需要能夠使用外部文件(如果存在)或jar文件中的版本作爲後備(fallback),則需要測試該文件的存在(File.exists())並使用Class.getResourceAsStream("matches.xml")作爲回退行爲。

0

由於您希望將文件保存在jar外部並想更新它以便jar可以讀取,因此您可以將該文件放在jar所在的同一目錄中並使用以下代碼訪問文件

FileInputStream file = new java.io.FileInputStream("matches.xml"); 

所以這可以是目錄結構。

- matches\ 
    - matches.jar 
    - matches.xml 
+0

這是一個非常脆弱的方式來形成'文件'。它不會適用於applet或應用程序。部署使用JWS或應用程序。從不向應用程序提供「cd」的批處理文件啓動。目錄.. – 2013-05-13 14:59:51

相關問題