簡體   English   中英

在Java中創建獨立程序包並從配置文件中進行一些設置

[英]Creating a standalone package in java and take some settings from the configuration file

任何人請讓我們知道當我們有一些基本為xml的配置文件時該怎么辦。例如,我想提供從某些配置文件(在我的情況下為xml)將圖像(對於Java程序)保存在文件夾中的路徑在那種情況下應該保留配置文件。現在我創建一個Java獨立程序包時,所有東西都會轉換為jar文件,但是我想從xml文件中進行一些設置。在這種情況下該怎么辦。本文僅提供了為Java項目創建單個jar文件的內容,但沒有提及您可以從某些外部來源提供的配置設置。

問候薩加爾

我不確定我是否完全理解您的問題,但是如果要將XML文件和配置信息放在哪里,則可以將XML文件放置在與jar文件相同的目錄中,然后將XML文件名和路徑傳遞到調用Jar時,在命令行上使用Jar。 如果您在Windows中運行它,通常可以使用快捷方式來完成。 然后,您可以從接受命令參數的主方法的String [] arg數組中獲取Jar的完整路徑字符串。

薩加爾

您的Java程序是獨立程序包(.jar文件)的事實與配置文件的存儲位置無關。 您的java包是一個程序,該程序可以從文件系統中讀取所需的任何文件; 它不必是IDE里面的代碼的一部分,即你沒有當你寫程序寫出來。 您需要做的是在啟動程序時以某種方式查找和讀取所述配置文件。

根據您期望程序配置的方式,可以將該文件放置在多個位置。 例如,/ etc / yourimageprogram / config.xml或c:\\ program files \\ yourimageprogram \\ config.xml或c:\\ users \\ Sagar \\ Application Settings \\ yourimageprogram \\ config.xml。 您從這些選項中選擇哪種實際上取決於用例,而我對此無能為力。

但是,讀取任何文件有一些要點:

  • 是否存在?
  • 我們可以打開它閱讀嗎?
  • 我們可以打開它進行寫作嗎? 可能想知道我們是否要更新配置?

通常,在Java中,您可以使用以下方法進行測試:

File configfile = new File("C:\test.xml");
if ( configfile.exists() && configfile.canRead() )
{
    // read the file
}
else
{
    // decide what to do if no config exists.
    // might be first run of app.
}

下一步是解析文件。 有許多可用於XML的解析器,包括sax和org.w3c.dom。 您需要做的是使用這些信息提取所需的信息並將其存儲在類中。 可能是單例類,因為您不太可能在程序的每個實例中擁有多個配置實例。

我建議您閱讀Java下的 XML解析器文件處理 還要看一下File對象。 在Java中查看文件io的所有選項 這些應該給您一些指示如何進行。

暫無
暫無

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

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