属性文件读取类

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

时间: 2024-11-08 19:12:18

属性文件读取类的相关文章

采用commons-configuration包实现属性文件读取的工具类

代码如下:   package com.yanek.base; import org.apache.commons.configuration.CompositeConfiguration; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.PropertiesConfiguration; public class PropManager

asp.net c#封装的一个xml文件读取类

A:在XML文件中有多个集,每个集里面包含多个节点. B:可根据集的名字的取出这个集合下面的所有节点值 C:可一次性取出所有的节点值 D:其中有一个是无限拓展的就是:表达式 E:把集合读取到一个模型(实体类)当中 getmxl.cs文件  代码如下 复制代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml; namespace XmlOpe

java中属性文件读取的例子

  import java.io.InputStream;import java.util.Properties;   public class ConfigUtil{  private static Properties prop=new Properties();  private static boolean isLoaded=false;  public ConfigUtil()  {  }  public static Properties getConfigInfo()  {   

java获取properties属性文件示例_java

一个属性列表可包含另一个属性列表作为它的"默认值":如果未能在原有的属性列表中搜索到属性键,则搜索第二个属性列表. 因为 Properties 继承于 Hashtable,所以可对 Properties 对象应用 put 和 putAll 方法.但不建议使用这两个方法,因为它们允许调用者插入其键或值不是 String 的项.相反,应该使用 setProperty 方法.如果在"不安全"的 Properties 对象(即包含非 String 的键或值)上调用 stor

C#读取XML文件——自定义类

C#本身也带有读取XML文件的类,但是许久未曾接触C#了,为了练练手,自己写了一个具有简单功能的类,实现了读取xml文件,查找元素,插入结点等功能.实现如下: XmlDoc类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace ConsoleCSharp { class XmlDoc { internal static st

利用Java注解特性加载属性文件(properties)的值到Java类

在此之前我都是写个PropertyUtil类来加载配置文件,然后通过get方法,把key对应的值取出来. Spring提供一个PropertyPlaceholderConfigurer类,可以读取配置文件,然后在Spring配置文件通过${hibernate.dialect}这种方式注入到JavaBean中,有个不好的地方就是,要在代码中取的时候不是很方便. 然后在接触到Java注解特注解技术以后,感觉这个东东很好,hibernate映射,WebService都可以通过注解来完成,方便的很多,然

PHP读取大文件的类SplFileObject使用介绍

 一般读取文件我们用fopen 或者 file_get_contents ,前者可以循环读取,后者可以一次性读取,但都是将文件内容一次性加载来操作. 如果加载的文件特别大时,如几百M,上G时,这时性能就降下来了,那么PHP里有没有对大文件的处理函数或者类呢? 答案是:有的. PHP真的越来越"面向对象"了,一些原有的基础的SPL方法都开始陆续地实现出class了. 从 PHP 5.1.0 开始,SPL 库增加了 SplFileObject 与 SplFileInfo 两个标准的文件操作

Java中读取属性文件以及做资源国际化

在src下的文件,没写包名   import java.text.MessageFormat; import java.util.Locale; import java.util.ResourceBundle; public class Demo {  /**   * ResourceBundle类的主要是读取属性文件,读取属性文件名称的时候可以   * 直接指定属性文件的名称(指定名称是不需要文件的后缀),也可以根据Local   * 所指定的区域码来选取指定的资源文件.   *   * 国际

PHP读取大文件的类SplFileObject使用介绍_php实例

如果加载的文件特别大时,如几百M,上G时,这时性能就降下来了,那么PHP里有没有对大文件的处理函数或者类呢? 答案是:有的.PHP真的越来越"面向对象"了,一些原有的基础的SPL方法都开始陆续地实现出class了.从 PHP 5.1.0 开始,SPL 库增加了 SplFileObject 与 SplFileInfo 两个标准的文件操作类.SplFileInfo 是从 PHP 5.1.2 开始实现的.从字面意思理解看,可以看出 SplFileObject 要比 SplFileInfo 更