封装的方法--读取任何路径下的properties文件中的值
概述:我们在做项目时,经常需要从某个properties文件中读取properties文件中的值。现在我封装了一下方法,直接读取配置文件中的值。
代码如下所示:
/**
* Created by qinlinsen on 2017-07-03.
* 本例只要是读取任何一个.properties文件的值。如果配置文件没有的话都设有默认值,从而避免了NullPointException.
*/
public class KSConfigurationTest {
Properties properties;
/**
* 使用饱汉模式的双重锁模式创建一个实例
*/
private static KSConfigurationTest ksConfigurationTest;
//定义一个私有的构造方法
private KSConfigurationTest(){ }
public static KSConfigurationTest getKsConfigurationTest(){
if(null==ksConfigurationTest){
synchronized (KSConfigurationTest.class){
if(null==ksConfigurationTest){
ksConfigurationTest=new KSConfigurationTest();
}
}
}
return ksConfigurationTest;
} /**该方法读取properties文件中的value值,在value不为空是返回value值,否则返回的是默认值。
* @param key properties文件中的key值 如文件中username=qinlinsen 其中username就是key
* @param resource properties文件所在的classpath中的路径
* @param defaultValue 所设的默认值
* @return 返回properties文件中的value.
*/
public String getProperty(String key,String resource,String defaultValue){
//获取ksconfig.properties文件的属性值
properties=new Properties();
InputStream in = KSConfigurationTest.getKsConfigurationTest().getClass().getClassLoader().getResourceAsStream(resource);
try {
properties.load(in);
} catch (IOException e) {
e.printStackTrace();
}
String value = properties.getProperty(key);
if(value==null){
return defaultValue;
}
return value;
}
//字符串的默认值为:"";
public String getProperty(String key,String resource){
String value = getProperty(key, resource, "");
return value;
}
public int getPropertyAsInt(String key,String resource,Integer defautValue){
String stringValue = defautValue.toString();
String value = getProperty(key, resource, stringValue);
return Integer.parseInt(value);
}
//设默认值为1
public int getPropertyAsInt(String key,String resource){
int value = getPropertyAsInt(key, resource, );
return value;
}
public static void main(String[] args) {
//这是测试代码
String key = KSConfiguration.getInstance().getProperty("app_id");
System.out.println(key);
System.out.println("key="+key);
System.out.println(Boolean.valueOf("people"));
System.out.println(Boolean.valueOf("TRu"));
String app_id = KSConfigurationTest.getKsConfigurationTest().getProperty("app_id", "ksconfig.properties");
System.out.println("app_id="+app_id);
int parsec = KSConfigurationTest.getKsConfigurationTest().getPropertyAsInt("parsec", "helloworld.properties");
System.out.println("parsec="+parsec);
String username = KSConfigurationTest.getKsConfigurationTest().getProperty("username", "spring/test.properties");
System.out.println("username="+username);
}
}
封装的方法--读取任何路径下的properties文件中的值的更多相关文章
- java通过文件路径读取该路径下的所有文件并将其放入list中
java通过文件路径读取该路径下的所有文件并将其放入list中 java中可以通过递归的方式获取指定路径下的所有文件并将其放入List集合中.假设指定路径为path,目标集合为fileList,遍 ...
- C++读取特定路径下文件目录及文件名称
这几天在弄一个项目,需要读取给定路径下的所有文件夹名称或所有带后缀的文件名. 查了下C++的资料,发现有很多方法,这里总结其中的一种,其他用法类似. 主要用到了以下几个头文件(类):io.h, fst ...
- 转载:C++读取特定路径下文件目录及文件名称
转载地址:http://www.cnblogs.com/tgyf/p/3839894.html void getAllFiles( string path, vector<string>& ...
- Python3在指定路径下递归定位文件中出现的字符串
[本文出自天外归云的博客园] 脚本功能:在指定的路径下递归搜索,找出指定字符串在文件中出现的位置(行信息). 用到的python特性: 1. PEP 318 -- Decorators for Fun ...
- java读取项目路径下的中文文件乱码问题
出现乱码错误: 处理方案: 对文件路径中存在中文的,都要进行URLDecoder.decode(path,"UTF-8")编码转换 wordContent = URLEncoder ...
- src/main/Java路径下的properties文件丢失
在pom中加入代码: <build> <resources> <resource> <directory>src/main/java</direc ...
- java读取项目根路径下和任意磁盘位置下的properties文件
1.读取项目根路径下的properties文件比较简单也是比较常见的一种操作. 具体代码如下: package com.xuanen.util; import java.util.Properties ...
- matlab读取指定路径下的图像
利用matlab读取指定路径下的图像 %% 读入指定路径imgFolder下的图像imgName imgFolder = 'F:\博\快盘\图像+数据\images\文章实验图'; %指定路径 img ...
- Java取得一个对象里所有get方法和set方法, 读取某个类下所有变量的名称
所有get方法和set方法public void getMethod(Object obj){ Class clazz=obj.getClass();//获得实体类名 Field[] fields = ...
随机推荐
- 详解JavaScript中的arc的方法
今天说说JavaScript在网页中画圆的函数arc! 一.arc所需要的参数设置 1 arc(x, y, radius, startAngle, endAngle, counterclockwise ...
- Aizu:2224-Save your cats
Save your cats Time limit 8000 ms Memory limit 131072 kB Problem Description Nicholas Y. Alford was ...
- 把SmartForm转换成PDF
摘要:将SmartForm转换为PDF的过程包括3个简单步骤. 调用智能窗体,然后返回OTF数据. 使用“转换”功能模块将OTF数据转换为所需格式. 下载文件 呈现宏“code”时出错:为参数“lan ...
- 笔记-爬虫-模拟登录github
笔记-模拟登录github 1. 模拟登录github 1.1. 环境准备 安装/升级requests 2.20.0 pip install --upgrade requests pi ...
- Hadoop(初始Hadoop)
Hadoop核心组件 1.Hadoop生态系统 Hadoop具有以下特性: 方便:Hadoop运行在由一般商用机器构成的大型集群上,或者云计算服务上 健壮:Hadoop致力于在一般商用硬件上运行,其架 ...
- Android Stadio 导入moudle 不显示
Android Stadio 导入moudle 不显示,moudle 里面的java类也没有识别,只当是普通的txt文件. 后来,我发现,每个moudle 都有一个.iml 文件~ 然后我就随便翻翻配 ...
- HDFS写数据和读数据流程
HDFS数据存储 HDFS client上传数据到HDFS时,首先,在本地缓存数据,当数据达到一个block大小时.请求NameNode分配一个block. NameNode会把block所在的Dat ...
- linux socket下send()&recv()调用
1.send 函数 int send( SOCKET s, const char FAR *buf, int len, int flags ); 不论是客户还是服务器应用程序都用send函数来向TCP ...
- javaWEB简单商城项目
javaWEB简单商城项目(一) 项目中使用到了上一篇博文的分页框架,还有mybatis,重点是学习mybatis.现在有些小迷茫,不知道该干啥,唉,不想那么多了,学就对了 一.项目功能结构 1.功能 ...
- 【Spiral Matrix】cpp
题目: Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spira ...