簡體   English   中英

如何在Runnable Jar中設置config.ini文件的路徑?

[英]How to set path of a config.ini file in a Runnable Jar?

我正在用Java做一個程序,該程序將在可運行的JAR中導出,並在Windows中使用YAJSW作為服務執行,我必須讀取config.ini文件,該文件具有重要的執行參數,但是我要設置一個固定值路徑:

Path configFile = Paths.get("D:\\Folder\\config.ini");

問題是我不知道最終用戶PC上將執行該路徑的路徑。 我嘗試了這個:

Path txtParametro = Paths.get("\\config.ini");

因為.ini文件將位於.jar的同一文件夾中,但沒有用。

有人對我該如何處理有任何想法?

我想到了環境變量……但必須手動執行,這不是一種選擇。

您可以將文件設置為在特定位置創建,以便程序始終知道其位置:

File file = new File("D:\\Folder\\config.ini");
if (!file.exists()){
    file.createNewFile();
}

問候,托馬斯

如果文件是JAR的一部分,則可以這樣加載:

Class.getResourceAsStream( “config.ini中”);

如此處所述:

如何訪問jar中的配置文件?

如果不在JAR中,請告知我們。

通過以下方式找到了解決方案:

假設config.ini位於.jar的同一文件夾中

File pathJAR = new File(Main.class.getProtectionDomain().getCodeSource().getLocation().toURI());

它返回運行jar的路徑"D:\\Folder\\name.jar" ,然后將“ name.jar”替換為“ config.ini”。

不那么美麗,但可以。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM