寫好一個桌面程序後,想把它打包,並將其配置文件*.properties放在項目外面,以便能夠對桌面程序的各種參數進行實時修改,而不用每次都要對項目重新打包。這時候,我們就需要將*.properties文件放置在項目jar包的外面。
採用的思路很簡單。通過對程序中任一文件的實時絕對url(根據jar包放在位置不同,而自動改變的)的獲取,來對這個url進行解碼,以防止url中有中文或日文文字而亂碼的情況。然後再對獲取的路徑進行一些簡單的拼裝就可以達到,獲取項目jar包外的屬性配置文件了。
String url = Shortcut.class.getClassLoader().getResource("*.txt").getPath();
String urlDecode = URLDecoder.decode(url, "UTF-8");
int postion = urlDecode.lastIndexOf("start.jar");
if(url.contains("start.jar")){
String path = urlDecode.substring(6, postion);
String filePath = path+"Shortcut.properties";
pro.load(new FileInputStream(filePath));
}