文档章节

PropUtil

yiguangtia
 yiguangtia
发布于 2018/11/30 17:20
字数 198
阅读 0
收藏 0
package com.tcl.cadillac.common.util;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class PropertiesUtil {

	private static Properties pro = new Properties();// 属性集合对象
	protected static final Logger logger = LoggerFactory
			.getLogger(PropertiesUtil.class);
	static {
		try {
			File file = new File(Thread.currentThread().getContextClassLoader()
					.getResource("").toURI());

			File[] files = file.listFiles();
			if (files == null) {
				logger.warn("load empty Properties file!");
			}
			for (File f : files) { // 查找classPath路径下所有属性文件
				if (f.isFile()) {
					String fileName = f.getName();
					if (fileName.endsWith("properties")) {
						loadPropertyFile(fileName);
					}
				}
			}
		} catch (Exception e) {
			logger.warn("load Properties error!", e);
		}

	}

	private static void loadPropertyFile(String fileName) {

		InputStream path = Thread.currentThread().getContextClassLoader()
				.getResourceAsStream(fileName);// 获取路径并转换成流

		try {
			pro.load(path);
		} catch (IOException e) {
			logger.warn("load Properties " + fileName + " error!", e);
		} finally {
			try {
				path.close();
			} catch (IOException e) {
				logger.warn("path close error!", e);
			}
		}
	}

	public static String getProperty(String property) {
		return pro.getProperty(property);
	}

	public static int getInt(String property) {
		return Integer.parseInt(pro.getProperty(property));
	}

	public static String getProperty(String property, String defaultV) {
		String pV = pro.getProperty(property);
		if (pV == null) {
			return defaultV;
		}
		return defaultV;
	}

	public static void main(String[] args) {
		System.out.println(getProperty("serverId"));
	}

}

© 著作权归作者所有

上一篇: spark jvm
下一篇: gc
yiguangtia
粉丝 5
博文 39
码字总数 29778
作品 0
深圳
私信 提问

暂无文章

linux日志切割工具 logrotate

Linux系统默认安装logrotate,默认的配置文件: /etc/logrotate.conf /etc/logrotate.d/ logrotate.conf:为主配置文件 logrotate.d:为配置相关子系统,用于隔离每个应用配置(Nginx、PHP、...

llzzzz
24分钟前
1
0
不得不收藏的大数据Hadoop教程:Hadoop集群搭建

搭建环境安装时间同步Yum install -y ntpdate 网络时间同步命了 服务器地址是阿里云ntpdate ntp1.aliyun.com 手动时间同步方式date -s "20190622 12:32:00" #yyyymmdd hh:mm:ss完全分布式服务...

好程序员IT
26分钟前
1
0
xhprof php性能分析工具

php7 没有官方版 下载地址git clone https://github.com/longxinH/xhprof cd xhprof/extension/ 进入目录指定phpconfig地址进行安装 extension=xhprof.so xhprof.output_dir=/tmp 安装包中x......

曲文
28分钟前
1
0
CentOS7安装GitLab的过程详解

安装Gitlab Step 1.安准基础依赖 $ yum install -y curl policycoreutils-python openssh-server Step 2.安装Postfix 说明:Postfix是一个邮件服务器,GitLab发送邮件需要用到 $ yum ins...

Linux_Anna
28分钟前
2
0
Centos 用docker安装Confluence

1. 下载官方镜像 docker pull atlassian/confluence-server:6.15.7-alpine 2. 创建并运行容器 docker run -m 1024M --memory-swap -1 -host --net=host --name wiki -d -p 8090:8090 -p 800......

熊小熊会写代码哦
41分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部