Java加载配置文件类
/**
* 对应配置文件类,
*/
package com.up72.parkSys.ThirdParty;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
public final class StaApiConfig {
/**
* 调试变量,用以打印调试错误信息
*/
public static boolean DEBUG = false;
/**
* 系统配置文件名称 例如:xxxxx.properties配置文件
*/
private final static String SYSTEM_CONFIG = "StaApiConfig.properties";
/**
* 单子模式实例
*/
private static StaApiConfig config;
/**
* map
*/
private Map<String, String> params;
private StaApiConfig() {
load();
}
/**
* 单子模式实例方法
*
* @return
*/
public static StaApiConfig instants() {
if (null == config) {
config = new StaApiConfig();
}
return config;
}
/**
* 重新载入资源文件
*/
public void reload() {
load();
}
/*
* 载入properties资源文件
*/
@SuppressWarnings({"unchecked"})
private void load() {
if (null == this.params) {
this.params = new HashMap<String, String>();
} else {
this.params.clear();
}
Properties properties = new Properties();
InputStream inputStream = this.getClass().getClassLoader()
.getResourceAsStream(SYSTEM_CONFIG);
try {
properties.load(inputStream);
Iterator it = properties.keySet().iterator();
while (it.hasNext()) {
Object key = it.next();
if (null != key && !key.toString().equals("")) {
String value = properties.getProperty(key.toString());
params.put(key.toString().trim(), value.trim());
}
}
} catch (IOException e) {
if (DEBUG) {
e.printStackTrace();
}
}
}
/**
* 获得资源文件中指定key的的value值
*/
public String getValue(String key) {
return this.params.get(key);
}
}
/**
* 配置文件中的内容 例如:StaApiConfig.properties
*/
TEST_KEY=100001 // 取得配置文件中的内容
public class TestProperties {
public static void main(String[] args) { String testKey = LqxgConfig.instants().getValue("TEST_KEY");
}
}
Java加载配置文件类的更多相关文章
- java加载配置文件
有时候一些变量可能会变,但直接写在程序代码中不好,因为有时候需要改的时候要改动源代码,这时候可以使用配置文件来管理.比如数据库中的端口和密码. 1. 把.properties配置文件放在src目录下. ...
- Java 加载配置文件的方式
一 使用原生方式读取配置文件 1 文件系统加载 Java代码 InputStream in = new FileInputStream("config.properties") ...
- java加载配置文件的三种方式
比如我们要加载db.properties文件 如图: 比如我们要加载source目录下的db.properties文件.就有以下几种方式 第一种是文件io流: public static void l ...
- java加载配置文件信息
#基金数据存放根目录fund_save_root_path=E:/fundCrawling #龙虎榜数据存放根目录long_hu_root_path=E:/longHuCrawling #巨潮数据存放 ...
- Java日志组件logback使用:加载非类路径下的配置文件并设置定时更新
Java日志组件logback使用:加载非类路径下的配置文件并设置定时更新 摘自: https://blog.csdn.net/johnson_moon/article/details/7887449 ...
- Java加载Properties配置文件工具类
Java加载Properties配置文件工具类 import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; ...
- java HelloWorld 提示“错误: 找不到或无法加载主类 HelloWorld“解决方案
在检查环境变量等前提工作准确无误后,注意要配好CLASSPATH,仍然报“错误: 找不到或无法加载主类 HelloWorld“. 本人工程目录:mygs-maven/src/main/java/hel ...
- maven project中,在main方法上右键Run as Java Application时,提示错误:找不到或无法加载主类XXX.XXXX.XXX
新建了一个maven project项目,经过一大堆的修改操作之后,突然发现在main方法上右键运行时,竟然提示:错误:找不到或无法加载主类xxx.xxx.xxx可能原因1.eclipse出问题了,在 ...
- Java找不到或无法加载主类
今天用cmd运行一下java出现了找不到或无法加载主类 的问题 javac编译可以通过 java运行不了 原因: 看一下java版本 看一下javac版本: 编译和运行环境的版本不一样报错原来是用 ...
随机推荐
- 【转】windows server 2012 安装 VC14(VC2015) 安装失败解决方案
系统环境如下:cmd命令行-输入 systeminfo 如下图 - The VC14 builds require to have the Visual C++ Redistributable for ...
- vue路由高级语法糖
1.当 <router-link> 对应的路由匹配成功,将自动设置 class 属性值 .router-link-active. 模板中可以用{{$route.params.xxx取到路由 ...
- Error:Failed to resolve: com.afollestad:material-dialogs:
http://www.chenruixuan.com/archives/1068.html 背景: 同事把Android项目直接考给了我...我在Android Studio上运行,然后提示: Err ...
- AspNetCore容器化(Docker)部署(四) —— Jenkins自动化部署
一.前言 (Jenkins.Docker.Git/Svn组建一套简单的自动化发布流程) 文章中用到的相关服务器角色 角色 环境 功能 开发机 Win10.Docker(Linux OS) 编码.调试 ...
- source 1.7 中不支持 lambda 表达式(请使用 -source 8 或更高版本以启用 lambda 表达式)
from:http://blog.csdn.net/qwdafedv/article/details/54691740 https://www.youtube.com/watch?v=oXxijdf8 ...
- kubeadm1.14.1 安装Metrics Server
Metrics API 介绍Metrics-Server之前,必须要提一下Metrics API的概念 Metrics API相比于之前的监控采集方式(hepaster)是一种新的思路,官方希望核心指 ...
- 关于DTCC数据库技术大会
本次DTCC数据库技术大会是第9届了,这次大会虽然有不少公司的产品推介,总体来说还是有不少干货的. 专场较多,有选择地主要听了大数据实践跟流式计算这块.网易跟滴滴的分享比较不错. 了解到了现在大家是用 ...
- java中的缓存技术该如何实现
1缓存为什么要存在?2缓存可以存在于什么地方?3缓存有哪些属性?4缓存介质? 搞清楚这4个问题,那么我们就可以随意的通过应用的场景来判断使用何种缓存了. 1. 缓存为什么要存在?一 般情况下,一个网站 ...
- hdu5126 stars
题目描述 题解: 和二维的比起来差不多. 但是这是四维偏序. 所以搞一下CDQ套CDQ. CDQ是维度a已经有序,按维度b排序,然后将维度c存入一维数据结构. 所以我们在第一层CDQ中分治处理,将合法 ...
- Java学习之正则表达式
Java正则表达式字符串模式. 正则表达式可以用来搜索.编辑和处理文本. 正则表达式不尽限于一种语言,但在每一种语言中又细微的差别. java.util.regex包中主要有这3个类: Pattern ...