属性文件读取类

简介:

package com.yanek.test;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

import org.apache.log4j.Logger;


public final class Global {
 
 
 public static void main(String[] args)
 {
  
  System.out.println(Global.exptype);
  System.out.println(Global.descDic);
  System.out.println(Global.sourceDic);
 }
 
 
 /** 日志记录 */
 static Logger log = Logger.getLogger(Global.class.getName());

 /** 应用程序配置参数缓存 */
 private static Properties appPropertiesCache;

 /** 服务配置文件名 */

 //private static String config_file = "conf/mail.properties";
 private static String config_file = "config.properties";

 
 public static String APPLICATION_ROOT = null;
 
 
 public static String exptype = null; //出库类型
 
 public static String sourceDic = null; //来源目录
 public static String descDic = null; //目标目录

 static {
  try {
   APPLICATION_ROOT = System.getProperty("user.dir");
   System.out.println("properties file:" + config_file);
   appPropertiesCache = loadProperties(config_file);
   

 
   
   sourceDic = appPropertiesCache.getProperty("sourceDic");
   descDic=appPropertiesCache.getProperty("descDic");
   
   exptype=appPropertiesCache.getProperty("exptype");
   
   
  } catch (IOException e) {
   e.printStackTrace();
  }
 }

 /***********************************************************************************************
  * 根据给定名字查找资源,返回其输入流
  *
  * @param uri
  *            资源名
  * @return 输入流
  */
 public static InputStream getResourceAsStream(String uri) {
  return Global.class.getClassLoader().getResourceAsStream(uri);
 }

 /***********************************************************************************************
  * 载入属性文件
  *
  * @param 文件基于类路径的相对路径名
  * @return 根据属性文件生成的Properties对象
  * @throws IOException
  */
 public static Properties loadProperties(String uri) throws IOException {
  Properties result = null;
  InputStream in = getResourceAsStream(uri);
  if (in != null) {
   try {
    result = new Properties();
    result.load(in);
   } finally {
    
    in.close();
    //ResourceMgr.closeQuietly(in);
   }
  } else
   throw new IOException("载入属性文件失败!" + uri);
  return result;
 }

 /***********************************************************************************************
  * 根据指定键值取应用程序配置属性
  *
  * @param key
  *            该属性在配置文件中的键
  * @return 该属性在配置文件中的字符串值
  */
 public static String getAppProperty(String key) {
  String value = Global.appPropertiesCache.getProperty(key);
  if (value == null)
   value = System.getProperty(key);
  return value;
 }

}

 

注意:配置文件在src根目录即可

 

config.properties

 

exptype=2
sourceDic=C://artistExp//in
descDic=C://artistExp//out
#descDic=////192.168.61.172//temp
#descDic=////192.168.61.172//temp
systype=new

目录
相关文章
|
存储 SQL Java
Java反射读取注解信息
Java反射读取注解信息
73 0
|
XML 存储 安全
Java源码类 - Properties类及多种读取方式
Java源码类 - Properties类及多种读取方式
176 0
|
Java Spring
java对象复制和属性值复制工具类
两个不同类型的对象中有字段名称不区分大小写的情况下一样,字段含义一样,需要组装到另一个对象中去,然后就写了一个这种工具类 我的类型比较特殊,老系统和新系统的对象命名大小写命名不一致,并且字段相同类型也有不一致的情况,所以自己写了一个, 不是很完美基本能用。 温馨提示: 如果同一种类型的对象 属性字段名equals相等 并且类型一致。则完全可以用commons-beanutils包或者spring包中 的BeanUtils工具类中的copey属性方法。
231 0
|
SQL 关系型数据库 MySQL
一日一技:跟着Kenneth Reitz大神学习读取类属性的三种方法
一日一技:跟着Kenneth Reitz大神学习读取类属性的三种方法
76 0
C#编程-118:写入文件StreamWriter类
C#编程-118:写入文件StreamWriter类
152 0
C#编程-118:写入文件StreamWriter类
|
Java 数据库
java反射机制查找类的属性并赋值
先说一下需求:最近做一个项目其中需要将前台传来的数组存到数据库,但是这个表里有15个字段,集合是不固定的,然后要把这个集合的数值赋给这个类的相应属性,然后存到数据库中。集合长度应小于等于这个类属性的个数。
331 0
C#读取文件夹下所有指定类型,并返回相应类型数据
C#读取文件夹下所有文件 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar —— 心分...
1148 0