我對編程完全陌生,現在我正在做一個項目,我需要在java中讀取特定的XML文件。我的代碼是使用我需要的文件的絕對路徑,但我必須將項目分發到某處。所需的XML文件不會在項目文件夾中,而是在另一個文件夾中,我將使用項目的JAR文件進行分發。如果我不知道用戶在哪裏放置我的程序和包含XML文件的文件夾,是否有可能獲得該路徑?有關java項目分發的問題
該程序應該在Windows上運行。
我對編程完全陌生,現在我正在做一個項目,我需要在java中讀取特定的XML文件。我的代碼是使用我需要的文件的絕對路徑,但我必須將項目分發到某處。所需的XML文件不會在項目文件夾中,而是在另一個文件夾中,我將使用項目的JAR文件進行分發。如果我不知道用戶在哪裏放置我的程序和包含XML文件的文件夾,是否有可能獲得該路徑?有關java項目分發的問題
該程序應該在Windows上運行。
你有不同的解決方案:
main
方法(如果你有一個main
方法)-D
選項上java命令,與語法-Dproperty=value
)export
命令)getResourceAsStream
別忘了環境變量'System.getenv(String)' –
@CarlosHeuberger也添加了這個選項thx –
露出它檢索文件?您可以隨時查找FileChooserDialog(或類似的東西),讓用戶指向文件。但你可以隨時將你的jar文件分發到壓縮包(zip)中,用xml – AxelH
你需要在代碼中向用戶詢問他們在哪裏放置xml文件! –
這正是您應該避免使用硬編碼絕對路徑的原因。如果文件位於jar外部,或者使用類資源的相對路徑(如果xml位於jar文件中),則使用文件的相對路徑。這個問題已經在這個網站上被多次詢問和回答,並且您需要搜索這個網站來查看這些重複內容。 –