封装的方法--读取任何路径下的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 = ...
随机推荐
- 网络基础-交换机、路由器、OSI7层模型
第1章 网络基础 1.1 网络的诞生 网络的诞生使命:通过各种互联网服务提升全球人类生活品质. 让人类的生活更便捷和丰富,从而促进全球人类社会的进步.并且丰富人类的精神世界和物质世界,让人类最便捷地获 ...
- lvs+keepalived实验
一.VRRP协议与工作原理 在现实网络环境中,主机之间的通信都是通过配置静态路由或者(默认网关)来完成的,而主机之间的路由器一旦发生故障,通信就会失效,因此这种通信模式当中,路由器就成了一个单点瓶颈, ...
- webpack最小化lodash
lodash作为一个比较常用的前端开发工具集,在使用webpack进行vendor分离的实践中,会遇到将整个lodash文件分离到vendor.js的问题.这样会使vendor.js文件变得特别大. ...
- axios进行ajax请求得不到数据,cookie无法携带问题
这个坑也是很早之前踩过,今天做项目的时候居然忘了,怎么都拿不到数据,果然好记性不如烂笔头,决定写篇博客来祭奠下我的猪脑子: 原因可能就是你发送请求的时候,需要设置cookie,然而你的cookie并没 ...
- ethereum(以太坊)(六)--整型(int)
pragma solidity ^0.4.20; /* uint8 uint16 ...uint256 int8 int16 int24 ..int256 uint => uint256 int ...
- HTML+CSS : 笔记整理(1)
meta:页面描述信息(可以在里面加入作者信息等,如: <meta name="description"content="HTML examples"&g ...
- HTML常用标签用法及实例
HTML常用标签用法及实例1.<!--1.注释-->2.<!--2.DOCTPYE 声明文档类型-->3.<!--3.a--> <a href="h ...
- composer环境安装
PHP很多优秀的框架,例如Laravel等等,镜像都在国外,相关的包管理工具Composer也是在国外,所以安装失败的可能性很大,题主所示的就是因为连不上Composer.解决方法如下: 进入官网, ...
- jQuery检测判断复选框是否被选中了的几种方法
方法一:if ($("#checkbox-id")get(0).checked) { // do something} 方法二:if($('#checkbox-id').is ...
- pyhton——logging日志模块的学习
https://www.cnblogs.com/yyds/p/6901864.html 本节内容 日志相关概念 logging模块简介 使用logging提供的模块级别的函数记录日志 logging模 ...