TypedProperties

类别:Java 点击:0 评论:0 推荐:
java.util.Properties类提供了读取配置文件的功能,但是这个类提供的配置信息只能是String形式的,必须由调用者来进行类型的转化,如转化成整数或者boolean。而这个转化过程也是比较罗嗦的,要捕获异常之类的。可以设计一个有类型的Properties类:
class TypedProperties extends java.util.Properties {
  public TypedProperties() ;
  public String getString(String key) throws PropertyException ;
  public String getString(String key, String defaultValue) ; 
  public void   putString(String key, String value) ;

  public int  getInt(String key) throws NoSuchProperty;
  public int  getInt(String key, int defaultValue); 
  public void putInt(String key, int value) ;

  public long getLong(String key) throws PropertyException;
  public long getLong(String key, long defaultValue) ;
  public void putLong(String key, long value);

  public double getDouble(String key) throws PropertyException ;
  public double getDouble(String key, double defaultValue) ; 
  public void   putDouble(String key, double value);

  public boolean getBoolean(String key) throws PropertyException;
  public boolean getBoolean(String key, boolean defaultValue);
  public void    putBoolean(String key, boolean value) ;
}

class PropertyException extends Exception {
}

这个类和java.util.Properties有点不同,就是它不支持一下子都设置好默认属性,因为我认为在一个集中的地方设置默认属性并不好,而改成在用时传入默认属性。如果一个属性没有默认值,也没有在文件中设置(或者转化类型出错),那么会抛出PropertyException异常。

本文地址:http://com.8s8s.com/it/it16469.htm