博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PropertiesUtil 获取文件属性值
阅读量:5949 次
发布时间:2019-06-19

本文共 2958 字,大约阅读时间需要 9 分钟。

 

有时候不要把一些属性值写死在代码中,而是写在配置在文件中,方便更改

 

PropertiesUtil工具类:读取key-value形式的配置文件,根据key获得value值 

 

1、测试类

 

public class Test{	private static PropertiesUtil propertiesUtil = new PropertiesUtil("file.properties");	//根据文件中的key获取value值	String value = propertiesUtil.getStringProperty("文件中的key");	}

  

 

 2、PropertiesUtil.java工具类

package com.util;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamReader;import java.util.Collection;import java.util.Properties;import java.util.Set;import org.apache.log4j.Logger;public class PropertiesUtil {		private static final Logger LOGGER = Logger.getLogger(PropertiesUtil.class);	private final Properties props;	public PropertiesUtil(final Properties props) {		this.props = props;	}	public PropertiesUtil(final String propertiesFileName) {		final Properties properties = new Properties();		InputStreamReader in = null;		try {			in = new InputStreamReader(new FileInputStream(this.getClass().getResource("/").getPath()+propertiesFileName), "UTF-8");			/*			 * 获取当前工程根目录			 * in = new InputStreamReader(new FileInputStream(System.getProperty("user.dir") + File.separator + propertiesFileName), "UTF-8");			 */			properties.load(in);		} catch (final IOException ioe) {			LOGGER.error("Unable to read " + propertiesFileName, ioe);		} finally {			if (in != null) {				try {					in.close();				} catch (final IOException ioe) {					LOGGER.error("Unable to close " + propertiesFileName, ioe);				}			}		}		this.props = properties;	}	public String getStringProperty(final String name) {		return props.getProperty(name);	}	public int getIntegerProperty(final String name, final int defaultValue) {		String prop = props.getProperty(name);		if (prop != null) {			try {				return Integer.parseInt(prop);			} catch (final Exception ignored) {				return defaultValue;			}		}		return defaultValue;	}	public long getLongProperty(final String name, final long defaultValue) {		String prop = props.getProperty(name);		if (prop != null) {			try {				return Long.parseLong(prop);			} catch (final Exception ignored) {				return defaultValue;			}		}		return defaultValue;	}	public float getFloatProperty(final String name,final float defaultValue)	{		String prop = props.getProperty(name);		if (prop != null) {			try {				return Float.parseFloat(prop);			} catch (final Exception ignored) {				return defaultValue;			}		}		return defaultValue;	}		public String getStringProperty(final String name, final String defaultValue) {		final String prop = getStringProperty(name);		return (prop == null) ? defaultValue : prop;	}	public boolean getBooleanProperty(final String name) {		return getBooleanProperty(name, false);	}	public boolean getBooleanProperty(final String name, final boolean defaultValue) {		final String prop = getStringProperty(name);		return (prop == null) ? defaultValue : "true".equalsIgnoreCase(prop);	}		public Set keySet()	{		return props.keySet();	}		public Collection values()	{		return props.values();	}}

  

 

转载地址:http://dwsxx.baihongyu.com/

你可能感兴趣的文章
CentOS 6.5 PYPI本地源制作
查看>>
raspberry 更换阿里源
查看>>
ES 概念及动态索引结构和索引更新机制
查看>>
JavaWeb ---Filter、Servlet
查看>>
django定制自己的admin界面
查看>>
简单计划一下:
查看>>
nodejs 安装环境配置(windows)
查看>>
Eclipse 環境中的 NuttX 編譯和除錯
查看>>
INSTALLING LIGHTTPD on CentOS 6.2
查看>>
子类能否重写父类的静态方法
查看>>
JS正则表达式验证身份证号码
查看>>
wap网站获取访问者手机号PHP类文件
查看>>
技术之centos7安装docker
查看>>
教你如何用内容营销生成客户
查看>>
thread的start()和run()
查看>>
开源工具:Mina
查看>>
微职位产品改版学员帮助文档(4月19日)
查看>>
Javascript加载执行加速
查看>>
Cacti完全使用手册 ( 让你快速个性化使用Cacti )
查看>>
改变eclipse编码格式
查看>>