文档章节

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

Sheamus
 Sheamus
发布于 2015/10/18 13:38
字数 301
阅读 228
收藏 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

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

暂无文章

kubeadm部署kubernetes集群

一、环境要求 这里使用RHEL7.5 master、etcd:192.168.10.101,主机名:master node1:192.168.10.103,主机名:node1 node2:192.168.10.104,主机名:node2 所有机子能基于主机名通信,编辑...

人在艹木中
26分钟前
1
0
Shell特殊符号总结以及cut,sort,wc,uniq,tee,tr,split命令

特殊符号总结一 * 任意个任意字符 ? 任意一个字符 # 注释字符 \ 脱义字符 | 管道符 # #号后的备注被忽略[root@centos01 ~]# ls a.txt # 备注 a.txt[root@centos01 ~]# a=1[root@centos01...

野雪球
今天
2
0
OSChina 周二乱弹 —— 程序员圣衣

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @达尔文:分享Skeeter Davis的单曲《The End of the World》 《The End of the World》- Skeeter Davis 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
今天
13
0
[ python import module ] 导入模块

import moudle_name ----> import module_name.py ---> import module_name.py文件路径 -----> sys.path (这里进行查找文件) # from app.web import Personimport app.web.Person as Pe......

_______-
昨天
5
0
Redis性能问题排查解决手册

一、性能相关的数据指标 通过Redis-cli命令行界面访问到Redis服务器,然后使用info命令获取所有与Redis服务相关的信息。通过这些信息来分析文章后面提到的一些性能指标。 nfo命令输出的数据可...

IT--小哥
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部