jar包调用相对路径之项目外资源

瘦欲@ 提交于 2019-12-05 20:00:51

    写好一个桌面程序后,想把它打包,并将其配置文件*.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));
    }

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!