PropertiesUtil demo
package com.spl.save.wmos.base.util;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.URI;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import java.util.ResourceBundle;
import com.spl.kernel.base.util.KnSystemUtils;
/**
*
* PropertiesUtil.java
*
* @desc properties 资源文件解析工具
* @author Guoxp
* @datatime Apr 7, 2013 3:58:45 PM
*
*/
public class PropertiesUtil {
private Properties props;
private URI uri;
private static PropertiesUtil ourInstance = new PropertiesUtil();
public static PropertiesUtil getInstance() {
return ourInstance;
}
public PropertiesUtil(){
}
public PropertiesUtil(String fileName){
readProperties(fileName);
}
private void readProperties(String fileName) {
try {
props = new Properties();
InputStream fis =getClass().getResourceAsStream(fileName);
InputStreamReader re=new InputStreamReader(fis,"utf-8");
props.load(re);
uri = this.getClass().getResource("/config/res/wmos_std.properties").toURI();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 获取某个属性
*/
public String getProperty(String key){
return props.getProperty(key);
}
/**
* 获取所有属性,返回一个map,不常用
* 可以试试props.putAll(t)
*/
public Map getAllProperty(){
Map map=new HashMap();
Enumeration enu = props.propertyNames();
while (enu.hasMoreElements()) {
String key = (String) enu.nextElement();
String value = props.getProperty(key);
map.put(key, value);
}
return map;
}
/**
* 在控制台上打印出所有属性,调试时用。
*/
public void printProperties(){
props.list(System.out);
}
/**
* 写入properties信息
*/
public void writeProperties(String key, String value) {
try {
OutputStream fos = new FileOutputStream(new File(uri));
props.setProperty(key, value);
// 将此 Properties 表中的属性列表(键和元素对)写入输出流
props.store(fos, "『comments』Update key:" + key);
} catch (Exception e) {
e.printStackTrace();
}
}
}
PropertiesUtil demo的更多相关文章
- language-detection 语言检测工具 java版的应用demo
本文基本借鉴大佬文章:http://www.cnblogs.com/makemelaugh/archive/2012/09/26/2704802.html 在此基础上添加一些自己的补充,方便查阅. 提 ...
- Java - JavaMail - 利用 JavaMail 发邮件的 小demo
1. 概述 面试的时候, 被问到一些乱七八糟的运维知识 虽然我不是干运维的, 但是最后却告诉我专业知识深度不够, 感觉很难受 又回到了一个烦人的问题 工作没有深度的情况下, 你该如何的提升自己, 并且 ...
- 通过一个demo了解Redux
TodoList小demo 效果展示 项目地址 (单向)数据流 数据流是我们的行为与响应的抽象:使用数据流能帮我们明确了行为对应的响应,这和react的状态可预测的思想是不谋而合的. 常见的数据流框架 ...
- 很多人很想知道怎么扫一扫二维码就能打开网站,就能添加联系人,就能链接wifi,今天说下这些格式,明天做个demo
有些功能部分手机不能使用,网站,通讯录,wifi基本上每个手机都可以使用. 在看之前你可以扫一扫下面几个二维码先看看效果: 1.二维码生成 网址 (URL) 包含网址的 二维码生成 是大家平时最常接触 ...
- 在线浏览PDF之PDF.JS (附demo)
平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html#skill 下载地址:http://mozilla.gith ...
- 【微框架】Maven +SpringBoot 集成 阿里大鱼 短信接口详解与Demo
Maven+springboot+阿里大于短信验证服务 纠结点:Maven库没有sdk,需要解决 Maven打包找不到相关类,需要解决 ps:最近好久没有写点东西了,项目太紧,今天来一篇 一.本文简介 ...
- vue双向数据绑定原理探究(附demo)
昨天被导师叫去研究了一下vue的双向数据绑定原理...本来以为原理的东西都非常高深,没想到vue的双向绑定真的很好理解啊...自己动手写了一个. 传送门 双向绑定的思想 双向数据绑定的思想就是数据层与 ...
- Android Studio-—使用OpenCV的配置方法和demo以及开发过程中遇到的问题解决
前提: 1.安装Android Studio(过程略) 2.官网下载OpenCV for Android 网址:http:opencv.org/downloads.html 我下载的是下图的版本 3. ...
- iOS之ProtocolBuffer搭建和示例demo
这次搭建iOS的ProtocolBuffer编译器和把*.proto源文件编译成*.pbobjc.h 和 *.pbobjc.m文件时,碰到不少问题! 搭建pb编译器到时没有什么问题,只是在把*.pro ...
随机推荐
- 基于Vue2 搭建移动端 webapp 框架
Vue.js2.0作为国内热门并广为人知的前端框架,其与其他主流框架的优势在此不做过多赘述.搭建框架步骤如下: 转自:http://www.jianshu.com/p/beae26e57b0f 安装N ...
- java NIO详解
http://zalezone.cn/2014/09/17/NIO%E7%B2%BE%E7%B2%B9/ 1. 前言 我们在写java程序的时候,为了进行优化,把全部的精力用在了处理效率上,但是对IO ...
- 微信客户端+微信公众平台+新浪云SAE+Arduino+WS100(控制LED)
第一步:准备 1.智能手机微信客户端或微信电脑版 2.注册微信公众平台 https://mp.weixin.qq.com 3.注册新浪账号 http://www.sinacloud.com 4.拥有一 ...
- Ruby01: Beginner
中整個早上都忙著作業,看來是假期懶了一下現在現眼報吧哈哈.在上課之前發一下Ruby 的首章,算是倉促的開始吧. puts puts "Once upon a time... there's ...
- java.lang.NoSuchMethodError:android.content.Context.getDrawable
今天在开发的时候,这个代码在源码中是可以看到的,但是在android 4.3手机上面会报错,具体错误信息和代码如下: setBackgroundDrawable(context.getDrawable ...
- 前端开发之JavaScript篇
一.JavaScript介绍 前端三剑客之JavaScript,简称js,可能是这三个里面最难的一个了.很早以前,市面上流通着三种js版本,为了统一,ECMA(欧洲计算机制造协会)定义了规范的版本, ...
- Oracle Test 日志
这是一个在本地写日志的软件,写一篇看看效果怎么样. 我主要想看看这个行间距ok不... 看看效果...
- 【LeetCode】数组-4(581)-给未排序数组中子数组排序使得整个数组排序 找到这个最小的子数组
这道题目感觉并不太容易,也并没有想到什么比较好的方法,看来还是积累太少. 思路一:两个指针向后遍历,分别记下造成逆序的最小和最大下标位置 优化的暴力解法(很精妙,面试的时候可以说出来) 思想:两个指针 ...
- 前端性能优化--图片处理(Css Sprites 与 base64)
前言: 近期研究着前端性能的优化方面的知识,并以博客记之.之前有相同系列的文章(前端性能优化--图片懒加载(lazyload image)),这次继续是关于图片的处理,css sprites 和 ba ...
- 齐博cms 7.0 漏洞分析
** 0x01 原理分析 ** 还是很早之前爆出来的漏洞,现在拿出来学习一下,参考阿里巴巴: https://security.alibaba.com/... 漏洞发生在/inc/common.inc ...