属性文件读取类

简介:

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

目录
相关文章
|
7月前
|
存储 SQL Java
Java反射读取注解信息
Java反射读取注解信息
46 0
|
4月前
|
Java
java中FileOutputStream流中有参构造方法有无append形参的区别--超详细讲解版
java中FileOutputStream流中有参构造方法有无append形参的区别--超详细讲解版
26 0
|
8月前
|
XML 存储 安全
Java源码类 - Properties类及多种读取方式
Java源码类 - Properties类及多种读取方式
145 0
|
9月前
|
Java 编译器 测试技术
手写反射实现读取自定义注解中的属性值
手写反射实现读取自定义注解中的属性值
|
11月前
|
SQL 关系型数据库 MySQL
一日一技:跟着Kenneth Reitz大神学习读取类属性的三种方法
一日一技:跟着Kenneth Reitz大神学习读取类属性的三种方法
50 0
C#编程-118:写入文件StreamWriter类
C#编程-118:写入文件StreamWriter类
110 0
C#编程-118:写入文件StreamWriter类
|
Python
Python面向对象、类的抽象、类的定义、类名遵循大驼峰的命名规范创建对象、类外部添加和获取对象属性、类内部操作属性魔法方法__init__()__str__()__del__()__repr__()
面向对象和面向过程,是两种编程思想. 编程思想是指对待同一个问题,解决问题的套路方式.面向过程: 注重的过程,实现的细节.亲力亲为.面向对象: 关注的是结果, 偷懒.类和对象,是面向对象中非常重要的两个概念object 是所有的类基类,即最初始的类class 类名(object): 类中的代码PEP8代码规范:类定义的前后,需要两个空行 创建的对象地址值都不一样如dog和dog1的地址就不一样,dog的地址为2378043254528dog1的地址为2378044849840 8.类内部操作属性 sel
169 1
Python面向对象、类的抽象、类的定义、类名遵循大驼峰的命名规范创建对象、类外部添加和获取对象属性、类内部操作属性魔法方法__init__()__str__()__del__()__repr__()
|
Java 数据库
java反射机制查找类的属性并赋值
先说一下需求:最近做一个项目其中需要将前台传来的数组存到数据库,但是这个表里有15个字段,集合是不固定的,然后要把这个集合的数值赋给这个类的相应属性,然后存到数据库中。集合长度应小于等于这个类属性的个数。
274 0
C#读取文件夹下所有指定类型,并返回相应类型数据
C#读取文件夹下所有文件 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar —— 心分...
1120 0