jar包調用相對路徑之項目外資源

    寫好一個桌面程序後,想把它打包,並將其配置文件*.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));
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章