文档章节

jar包读取配置文件找不到错误

Sheamus
 Sheamus
发布于 2015/10/18 13:38
字数 301
阅读 225
收藏 7

  有时候开发一些小工具,需要去读取配置文件,但是打完的jar包经常会出现找不到路径的问题,

会想到两种方法:

  1. 把文件放到jar包之外同一目录下,比如 config/ config.properties 文件。

  2. 或者把config.properties文件也打进jar包,


方法1:此时肯定需要压缩文件jar包和这个配置文件一起提供给产品,否则产品不知道如何配置。比较麻烦。

方法2:这种方式比较简便,也是推荐做法

Properties文件加载文件时:

  • 将此配置文件放入src目录下(或者放入其他目录,但是配置成src源代码目录)

  • 用此种方式进行获取,

public class ReadProperties {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Properties properties = new Properties();
        InputStream isInputStream = ReadProperties.class.getClassLoader().getResourceAsStream("config.properties");
        try {
            properties.load(isInputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
        
        System.out.println(properties.getProperty("aa"));
    }
}

也可以采用ResourceBundle的方式来读取资源文件:

public class PropertiesUtil {
    private static final String BUNDLE_NAME = "com.zlp.utils.config";
    
    private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
    
    /**
     * @param args
     */
    public static void main(String[] args) {
        try {
            System.out.println(RESOURCE_BUNDLE.getString("aa"));
        } catch (MissingResourceException e) {
            
            System.out.println("can not found file");
        }
    }

}

此时要求资源文件为 config.properties.并且位于目录com.zlp.utils目录下。

本文转载自:http://blog.csdn.net/zlp5201/article/details/40795169

共有 人打赏支持
Sheamus

Sheamus

粉丝 43
博文 213
码字总数 29920
作品 0
海淀
程序员

暂无文章

文件的压缩与解压(linux)

Linux下*.tar.gz文件解压缩命令 1.压缩命令:   命令格式:tar -zcvf 压缩后文件名.tar.gz 被压缩文件名 可先切换到当前目录下。压缩文件名和被压缩文件名都可加入路径。 2.解压缩命令: ...

qimh
32分钟前
3
0
invalid character found in the request target 异常

这个异常时因为Tomcat 9不支持请求格式出现“{”等非法字符的问题 因为tomcat版本问题遇到的坑,记录一下。 问题 今天由于要测试一下订单详情页的异步查询,在本地起了一个服务,发送的请求是...

edwardGe
36分钟前
4
0
发现抓包软件fiddler的bug

1个请求他跳转之后,直接400,被拦在了Apache,使用fiddler 的,replay requests 是同样的结果,但是replay composer确是正常的。 也就是说这replay requests 是发原来的包,replay composer...

NLGBZJ
47分钟前
1
0
linux screen 命令详解

shell关闭后, 主机仍然运行 screen命令 启动jenkins以后, screen, 然后按ctrl+a 再按d 这样暂停了子界面, 这时候回到了父界面 用screen –ls查看目前子界面的状态 [root@free /]# screen -l...

SuShine
47分钟前
4
0
mac机器切换无线网络导致网页不能打开的问题

问题: 公司和家里使用不同的WI-FI,每次从家到公司时自动切换网络后,公司的许多地址不能访问, ping域名是可以ping同的,但是网页却打不开... 问题分析: 初步猜想是DNS缓存的问题? 对于MAC系统没...

Lennie002
50分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部