java-读properties配置文件
- package com.test;
- import java.util.HashMap;
- import java.util.Map;
- import org.apache.commons.configuration.ConfigurationException;
- import org.apache.commons.configuration.PropertiesConfiguration;
- import org.apache.commons.configuration.reloading.FileChangedReloadingStrategy;
- import org.apache.commons.lang.StringUtils;
- import org.apache.commons.lang.exception.*;
- import org.apache.logging.log4j.Logger;
- import org.apache.logging.log4j.LogManager;
- public class PropertyUtil {
- private static final String DEFAULT_PROPERTY = "conf/conf";
- // private static final String DEFAULT_PROPERTY = "conf";
- private static final String PROPERTY_SUFIX = ".properties";
- private static final Map<String, PropertiesConfiguration> CONFIGURATIONS = new HashMap<String, PropertiesConfiguration>();
- static private Logger logger = LogManager.getLogger(PropertyUtil.class);
- private static PropertiesConfiguration getInstance(String name)
- {
- String fileName = getPropertyName(name);
- // logger.debug("filename=" + fileName);
- PropertiesConfiguration config = CONFIGURATIONS.get(fileName);
- if (config == null)
- {
- try
- {
- // logger.debug("congfig is null");
- config = new PropertiesConfiguration(fileName);
- config.setReloadingStrategy(new FileChangedReloadingStrategy());
- CONFIGURATIONS.put(fileName, config);
- }
- catch (ConfigurationException e)
- {
- logger.error("cannot find property file for : " + name);
- throw new RuntimeException("cannot find property file for : " + name);
- }
- }
- return config;
- }
- private static String getPropertyName(String name)
- {
- if (StringUtils.isBlank(name))
- {
- name = DEFAULT_PROPERTY;
- }
- return name.endsWith(PROPERTY_SUFIX) ? name : (name += PROPERTY_SUFIX);
- }
- public static PropertiesConfiguration getInstance()
- {
- return getInstance(null);
- }
- public static String getString(String key)
- {
- return getString(key, DEFAULT_PROPERTY);
- }
- public static String getString(String key, String propertyInstance)
- {
- return getInstance(propertyInstance).getString(key);
- }
- public static int getInt(String key)
- {
- return getInt(key, DEFAULT_PROPERTY);
- }
- public static int getInt(String key, String propertyInstance)
- {
- String value = getInstance(propertyInstance).getString(key);
- return Integer.parseInt(value);
- }
- public static void main(String[] args)
- {
- PropertyUtil test = new PropertyUtil();
- System.out.print(test.getString("key"));
- }
- }
java-读properties配置文件的更多相关文章
- java读取properties配置文件总结
java读取properties配置文件总结 在日常项目开发和学习中,我们不免会经常用到.propeties配置文件,例如数据库c3p0连接池的配置等.而我们经常读取配置文件的方法有以下两种: (1) ...
- 【转】Java 读写Properties配置文件
[转]Java 读写Properties配置文件 1.Properties类与Properties配置文件 Properties类继承自Hashtable类并且实现了Map接口,也是使用一种键值对的形 ...
- Java 读写Properties配置文件
Java 读写Properties配置文件 JAVA操作properties文件 1.Properties类与Properties配置文件 Properties类继承自Hashtable类并且实现了M ...
- Java读properties文件中文乱码问题的解决方法
java读properties文件,包含中文字符的主要有两种: 1.key中包含中文字符的(value中也有可能包含) 2.key中不包含中文字符的(value中有可能包含) 1.key中包含中文字符 ...
- java读properties文件 乱码
java读properties文件,包含中文字符的主要有两种: 1.key中包含中文字符的(value中也有可能包含) 2.key中不包含中文字符的(value中有可能包含) 1.key中包含中文字符 ...
- java读取properties配置文件信息
一.Java Properties类 Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置 ...
- java读properties的通用类,兼容linux和windows
package util; import java.io.IOException; import java.io.InputStream; import java.util.Properties; / ...
- java读取properties配置文件的方法
app.properties mail.smtp.host=smtp.163.com mail.transport.protocol=smtp import java.io.InputStream; ...
- Java 读Properties
import java.io.*; import java.util.Properties; public class Study { public static void main(String[] ...
- Java 获取*.properties配置文件中的内容 ,常见的两种方法
import java.io.InputStream; import java.util.Enumeration; import java.util.List; import java.util.Pr ...
随机推荐
- BZOJ 1877: [SDOI2009]晨跑 费用流
1877: [SDOI2009]晨跑 Description Elaxia最近迷恋上了空手道,他为自己设定了一套健身计划,比如俯卧撑.仰卧起坐等 等,不过到目前为止,他坚持下来的只有晨跑. 现在给出一 ...
- 知问前端——创建header区
创建界面 我们首先要设计一个header,这个区域将要设计成永远置顶.也就是,往下拉出滚动条也永远在页面最上层可视区内.在header区,目前先设计LOGO.搜索框.按钮.注册和登录即可. 项目的大致 ...
- 经典SQL查询语句大全
一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数 ...
- android-exploitme(四):参数篡改
今天我们来测试请求中参数的篡改,这个在web安全测试中是常用的,拦截请求包,修改参数,提交 1. 首先我们需要启动模拟器,并使用本机的代理(加上参数-partition-size的目的是为了可以往a ...
- CentOS 7:如何安装防火墙?
对于纯净版的CentOS 7,您必须手动安装防火墙.但是你就算安装了防火墙还是不能马上运行它,你需要再做一些操作才能让它工作. 在CentOS 7中按照以下步骤来设置防火墙 第一步,通过yum安装sy ...
- RHEL7全新初始化进程管理systemd(图形启动和非图形启动切换)
红帽RHEL7系统已经替换了大家熟悉的初始化进程System V init,正式采用全新的 初始化进程systemd.初始化进程systemd使用了并发启动机制,所以开机速度上得到了不小的 提升. 将 ...
- 【python爬虫】根据查询词爬取网站返回结果
最近在做语义方面的问题,需要反义词.就在网上找反义词大全之类的,但是大多不全,没有我想要的.然后就找相关的网站,发现了http://fanyici.xpcha.com/5f7x868lizu.html ...
- Eclipse中user library包管理
1.整理jar 2.将整理出的jar包在Eclipse中分别设置为用户librarywindow -> preferences -> java -> build path -> ...
- centos 安装jdk
不要使用yum 安装openjdk,他妈的就是一坑货 首先到官网下载jdk,http://www.oracle.com/technetwork/java/javase/downloads/jdk7-d ...
- Java 数据结构之ArrayList
ArrayList:数组队列,就是动态数组,可以动态的增加和减少元素.实现了ICollection和IList接口.灵活的设置数组的大小 具体的用法: 1.创建:ArrayList list = ne ...