- 浏览: 1475094 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (523)
- JAVA (334)
- J2EE (18)
- JSP (21)
- JavaScript (14)
- it life (2)
- mobile develop (4)
- UBUNTU (14)
- Algorithm (14)
- DataBase (56)
- Browser/Server (1)
- linux (6)
- fedora (2)
- CSS (1)
- AjAX (3)
- HTML5 (1)
- EJB (1)
- osworkflow (2)
- Java face (5)
- spring (4)
- ICE (1)
- webService (2)
- MongoDB (1)
- JavaThread (4)
- JavaCollections (3)
- Hibernate (2)
- JavaMail (1)
- JavaBasic (1)
- Cache (1)
- https (4)
- DOM4J (1)
- JDOM (0)
- Mybatis (1)
- JUNIT (1)
- eclipse (1)
- easyMock (2)
最新评论
-
yadongliang:
...
自己认为的一些技术点 -
yadongliang:
每次看你头像都看的荷尔蒙分泌失调
WebService的两种方式SOAP和REST比较 (转) -
yadongliang:
hollo 写道一直有这种感觉,盲目的跟风,确实有一些人为了潮 ...
WebService的两种方式SOAP和REST比较 (转) -
welss:
博主,JNative怎么调用dll中的这种方法: int ...
JNative调用DLL -
Java_Antelope:
session.setAttribute和session.getAttribute(
前段时间出差去做一个数据接口的项目,有很多参数需要从工程中的配置文件system-config.proterties文件中读取,每个类中几乎都需要用到,于是就考虑把配置文件的配置项全部一次性的读取出来,存放在一个Map中。首先想到了就是单例模式。这样比较节省资源。在查找了一些资料之后,开始动手写了,贴出代码:
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
public class SystemConfigUtil {
private static SystemConfigUtil systemConfigUtil = null;
private static Map<String, String> proMap = new HashMap<String, String>();
private SystemConfigUtil() {
File file = new File("src\\system-config.properties");
InputStream is = null;
Properties pro = new Properties();
try {
is = new FileInputStream(file);
pro.load(is);
Enumeration e = pro.propertyNames();
while (e.hasMoreElements()) {
String key = (String) e.nextElement();
String value = (String) pro.get(key);
proMap.put(key, value);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
is.close();//千万别忘了关闭资源哦!
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static SystemConfigUtil getInstance() {
if (systemConfigUtil == null) {
systemConfigUtil = new SystemConfigUtil();
}
return null;
}
public static Map<String, String> getProMap() {
return proMap;
}
public static void main(String[] args) {
//写一个main方法,来验证一下
SystemConfigUtil d1 = SystemConfigUtil.getInstance();
SystemConfigUtil d2 = SystemConfigUtil.getInstance();
System.out.println(d1 == d2);
Map m1 = d1.getProMap();
Map m2 = d2.getProMap();
System.out.println(m1 == m2);
System.out.println(m1.get("ip"));
}
}
由于是在一个工程中使用的,所以配置文件直接写死在了程序里。稍加改动就可以变成动态的。经过测试这样读取一个配置文件(5K)只需要2毫秒(我的机器配置中等偏上)。
不知道这样写是不是规范,我知道肯定还有能优化的地方,请大神们给指点一下~谢谢啦~
原文:http://www.software8.co/wzjs/java/1788.html
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
public class SystemConfigUtil {
private static SystemConfigUtil systemConfigUtil = null;
private static Map<String, String> proMap = new HashMap<String, String>();
private SystemConfigUtil() {
File file = new File("src\\system-config.properties");
InputStream is = null;
Properties pro = new Properties();
try {
is = new FileInputStream(file);
pro.load(is);
Enumeration e = pro.propertyNames();
while (e.hasMoreElements()) {
String key = (String) e.nextElement();
String value = (String) pro.get(key);
proMap.put(key, value);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
is.close();//千万别忘了关闭资源哦!
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static SystemConfigUtil getInstance() {
if (systemConfigUtil == null) {
systemConfigUtil = new SystemConfigUtil();
}
return null;
}
public static Map<String, String> getProMap() {
return proMap;
}
public static void main(String[] args) {
//写一个main方法,来验证一下
SystemConfigUtil d1 = SystemConfigUtil.getInstance();
SystemConfigUtil d2 = SystemConfigUtil.getInstance();
System.out.println(d1 == d2);
Map m1 = d1.getProMap();
Map m2 = d2.getProMap();
System.out.println(m1 == m2);
System.out.println(m1.get("ip"));
}
}
由于是在一个工程中使用的,所以配置文件直接写死在了程序里。稍加改动就可以变成动态的。经过测试这样读取一个配置文件(5K)只需要2毫秒(我的机器配置中等偏上)。
不知道这样写是不是规范,我知道肯定还有能优化的地方,请大神们给指点一下~谢谢啦~
原文:http://www.software8.co/wzjs/java/1788.html
发表评论
-
Spring官网改版后下载
2014-04-11 10:39 709Spring官网改版后找了好久都没有找到直接下载Jar包的链接 ... -
Java 系统架构设计
2014-03-31 21:18 1440首先分为网关和引擎等多个部分: 第一部分:网关 1、主要负责转 ... -
Java 提高系统性能
2014-03-03 22:22 2571首先是从三方面来提高的,应用层面,服务器端层面,数据库层面。 ... -
2013年11月份艺龙旅行网面试题
2013-11-22 23:39 12221.给你两个字符串s1="abc",s2= ... -
国猪555555555
2013-11-22 00:16 998国足第一招:场地太差,不适应。 国足第二招:场地太好,不适应。 ... -
自己认为的一些技术点
2013-08-14 00:12 11581.rest风格的编程。 2.memcached的命中率低的问 ... -
HttpClient
2013-01-14 23:57 1006package org.abin.lee.test.http; ... -
Java 反射调用方法
2012-10-22 23:52 945package lc.abin.lee.reflect; i ... -
Java Https单向,双向验证
2012-09-23 22:47 2955https一般来说有单项SSL和双向SSL连接之分。 单项 ... -
Java中的transient,volatile和strictfp关键字
2012-09-12 18:00 788http://www.iteye.com/topic/5295 ... -
Server JBoss v5.0 at localhost was unable to start within 50 seconds.
2012-09-05 11:35 1839[标题]:[转]JBoss was unable to sta ... -
HttpUrlConnection 开发例子
2012-03-25 16:23 3311/*** * * 发送HTTP请求 * @ ... -
Java Enum类型定义的方法
2012-03-12 12:34 2298//枚举接口 package com.abin.info.s ... -
Rational Rose 2003 下载及破解方法
2012-03-06 12:49 1346FROM:http://blog.csdn.net/fengl ... -
使用Spring进行面向切面(AOP)编程
2012-02-22 10:35 22981.aop理论知识 横切性关注点:对哪些方法拦截,拦截后怎么处 ... -
BASE64、MD5、SHA、HMAC几种加密算法
2012-02-21 12:53 8759BASE64编码算法不算是真正的加密算法。 MD5、 ... -
文本文件和二进制文件区别及java中字节流和字符流归纳
2012-02-17 15:48 2947首先在物理上文本文件和二进制文件并没有区别,都是以二进制01的 ... -
Java 字节流转化为文件
2012-02-17 15:46 5645已知:byte[] bytes=new FileToBytes ... -
Java核心之Java内存分配原理
2012-02-17 13:40 926JAVA内存分配与管理是Java的核心技术之一,之前我们曾介绍 ... -
传智播客——JPA
2012-02-17 09:31 1516首先,JPA不是ORM框架,而是SUN官方提出的JAVA持久化 ...
相关推荐
Java配置文件读取,采用单例模式加载config.properties
也有采用properties格式的,毕竟使用Java来读取properties格式的配置文件比较简单。现在要读取配置文件的内容,该如何实现呢?1.2 不用模式的解决方案有些朋友会想,要读取配置文件的内容,这也不是个什么困难
2.能够对上传路径进行配置文件指定(upload.properties),使用了一些类似单例模式的静态代码块 3.Struts2进行下载处理,能对上传的所有文件进行下载(多个) 4.文件保存的名称UUID生成,不过显示并下载的名称都是原...
常见问题 读取Properties文件出现中文乱码 182 第9章 Java异常处理与反射机制 183 实例73 运用throws、throw、try与catch 183 实例74 throws声明异常的实例 185 实例75 自定义异常类 187 实例76 使用finally...
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。 redirect...
实例156 Singleton单例模式 242 实例157 招聘(简单工厂模式) 243 实例158 同学聚会(工厂方法模式) 244 实例159 图书展(抽象工厂模式) 246 实例160 汽车适配器(Adapter适配器模式) 248 ...
实例221 改变Properties文件中的键值 399 第13章 多线程编程(教学视频:121分钟) 405 13.1 多线程的五种基本状态 405 实例222 启动线程 405 实例223 参赛者的比赛生活(线程休眠唤醒) 407 实例...
实例221 改变Properties文件中的键值 399 第13章 多线程编程(教学视频:121分钟) 405 13.1 多线程的五种基本状态 405 实例222 启动线程 405 实例223 参赛者的比赛生活(线程休眠唤醒) 407 实例224 资源搜索并下载...
实例221 改变Properties文件中的键值 399 第13章 多线程编程(教学视频:121分钟) 405 13.1 多线程的五种基本状态 405 实例222 启动线程 405 实例223 参赛者的比赛生活(线程休眠唤醒) 407 实例224 资源搜索...
实例221 改变Properties文件中的键值 399 第13章 多线程编程(教学视频:121分钟) 405 13.1 多线程的五种基本状态 405 实例222 启动线程 405 实例223 参赛者的比赛生活(线程休眠唤醒) 407 实例224 资源搜索并下载...
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。...
{7.1}Java的文件系统管理}{103}{section.7.1} {7.2}回调模式与FileFilter}{104}{section.7.2} {7.3}\ttfamily RandomAccessFile}{106}{section.7.3} {7.4}基本类型数据序列化}{108}{section.7.4} {7.5}String的...