[英]How to read folder path dynamically?
假設我有一條像
“ jboss /服務器/默認/部署/Product_071016.ear/Product_071016.war/web-inf/classes/”
我想使用Java讀取此路徑,並在classes文件夾內創建一個新文件。 硬編碼不是一種選擇,它必須具有適應性。
在此路徑中, Product_071016.ear
和Product_071016.war
名稱發生更改(即,日期,月份,年份被附加在“ _”之后)。 我怎樣才能做到這一點?
根據您的要求,您可以選擇以下選項:
有一個配置文件,例如: paths.properties
其中包含每條動態變化的路徑作為key/value
對。 您可以在此處找到有關.properties
文件格式的信息 。 關鍵是一個常數名稱。 每次路徑更改時,都應該在paths.properties中更改分配給該常量鍵的值 。 由於您可以使用java
的Properties
對象來加載此配置文件,因此可以通過將其CONSTANT鍵提供給Properties
對象來更改路徑。 Properties
是某種程度上用於處理.properties
文件的自定義Map
。
您的paths.properties的內容可以像這樣:
PATH_TO_CLASSES_FOLDER=jboss/server/Default/deploy/Product_071016.ear/Product_071016.war/web-inf/classes/
因此,在使用Properties
對象從.properties
文件加載key/values
之后,通過提供鍵PATH_TO_CLASSES_FOLDER
您將獲得所需的路徑,該路徑存儲在文件中。
您可以在每個操作系統中設置一個System Variable
,然后可以使用以下代碼行在Java中讀取它的值:
String pathToClassesFolder = System.getenv("PATH_TO_CLASSES");
無論使用哪種方式,您都無需在代碼中對任何動態路徑進行硬編碼,即可滿足要求。 即使您不想對配置文件的路徑進行硬編碼,也可以將兩種方式結合使用:
將配置文件的路徑定義為System Variable
讀取配置文件的路徑,然后通過Properties
對象加載它,並使用PATH_TO_CLASSES_FOLDER
鍵獲取classes
文件夾路徑。
祝好運。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.