Property檔案讀取的Util類

來源:互聯網
上載者:User

Property檔案以字串形式儲存資料。

這個類可以從Property檔案中讀取各種轉換後的常見對象,可以繼續擴充。

 

package com.arui.util;<br />import java.io.File;<br />import java.net.InetAddress;<br />import java.net.UnknownHostException;<br />import java.text.DateFormat;<br />import java.text.ParseException;<br />import java.text.SimpleDateFormat;<br />import java.util.Date;<br />import java.util.Properties;<br />import java.util.TimeZone;<br />public class PropertiesUtil extends Properties {<br />private static final long serialVersionUID = -1810519669397594359L;<br />/**<br /> * Default constructor.<br /> */<br />public PropertiesUtil() {<br />}<br />/**<br /> * Load existing property.<br /> */<br />public PropertiesUtil(final Properties prop) {<br />super(prop);<br />}<br />/**<br /> * Get boolean value.<br /> */<br />public boolean getBoolean(final String str) throws Exception {<br />String prop = getProperty(str);<br />if (prop == null) {<br />throw new Exception(str + " not found");<br />}<br />return prop.toLowerCase().equals("true");<br />}<br />/**<br /> * Get boolean value.<br /> */<br />public boolean getBoolean(final String str, final boolean bol) {<br />try {<br />return getBoolean(str);<br />} catch (Exception ex) {<br />return bol;<br />}<br />}<br />/**<br /> * Get integer value.<br /> */<br />public int getInteger(final String str) throws Exception {<br />String value = getProperty(str);<br />if (value == null) {<br />throw new Exception(str + " not found");<br />}<br />try {<br />return Integer.parseInt(value);<br />} catch (NumberFormatException ex) {<br />throw new Exception("PropertiesUtil.getInteger()", ex);<br />}<br />}<br />/**<br /> * Get integer value.<br /> */<br />public int getInteger(final String str, final int intVal) {<br />try {<br />return getInteger(str);<br />} catch (Exception ex) {<br />return intVal;<br />}<br />}<br />/**<br /> * Get long value.<br /> */<br />public long getLong(final String str) throws Exception {<br />String value = getProperty(str);<br />if (value == null) {<br />throw new Exception(str + " not found");<br />}<br />try {<br />return Long.parseLong(value);<br />} catch (NumberFormatException ex) {<br />throw new Exception("PropertiesUtil.getLong()", ex);<br />}<br />}<br />/**<br /> * Get long value.<br /> */<br />public long getLong(final String str, final long val) {<br />try {<br />return getLong(str);<br />} catch (Exception ex) {<br />return val;<br />}<br />}<br />/**<br /> * Get double value.<br /> */<br />public double getDouble(final String str) throws Exception {<br />String value = getProperty(str);<br />if (value == null) {<br />throw new Exception(str + " not found");<br />}<br />try {<br />return Double.parseDouble(value);<br />} catch (NumberFormatException ex) {<br />throw new Exception("PropertiesUtil.getDouble()", ex);<br />}<br />}<br />/**<br /> * Get double value.<br /> */<br />public double getDouble(final String str, final double doubleVal) {<br />try {<br />return getDouble(str);<br />} catch (Exception ex) {<br />return doubleVal;<br />}<br />}<br />/**<br /> * Get <code>InetAddress</code>.<br /> */<br />public InetAddress getInetAddress(final String str) throws Exception {<br />String value = getProperty(str);<br />if (value == null) {<br />throw new Exception(str + " not found");<br />}<br />try {<br />return InetAddress.getByName(value);<br />} catch (UnknownHostException ex) {<br />throw new Exception("Host " + value + " not found");<br />}<br />}<br />/**<br /> * Get <code>InetAddress</code>.<br /> */<br />public InetAddress getInetAddress(final String str, final InetAddress addr) {<br />try {<br />return getInetAddress(str);<br />} catch (Exception ex) {<br />return addr;<br />}<br />}<br />/**<br /> * Get <code>String</code>.<br /> */<br />public String getString(final String str) throws Exception {<br />String value = getProperty(str);<br />if (value == null) {<br />throw new Exception(str + " not found");<br />}<br />return value;<br />}<br />/**<br /> * Get <code>String</code>.<br /> */<br />public String getString(final String str, final String s) {<br />try {<br />return getString(str);<br />} catch (Exception ex) {<br />return s;<br />}<br />}<br />/**<br /> * Get <code>File</code> object.<br /> */<br />public File getFile(final String str) throws Exception {<br />String value = getProperty(str);<br />if (value == null) {<br />throw new Exception(str + " not found");<br />}<br />return new File(value);<br />}<br />/**<br /> * Get <code>File</code> object.<br /> */<br />public File getFile(final String str, final File fl) {<br />try {<br />return getFile(str);<br />} catch (Exception ex) {<br />return fl;<br />}<br />}<br />/**<br /> * Get <code>Class</code> object<br /> */<br />public Class<?> getClass(final String str) throws Exception {<br />String value = getProperty(str);<br />if (value == null) {<br />throw new Exception(str + " not found");<br />}<br />try {<br />return Class.forName(value);<br />} catch (ClassNotFoundException ex) {<br />throw new Exception("PropertiesUtil.getClass()", ex);<br />}<br />}<br />/**<br /> * Get <code>Class</code> object<br /> */<br />public Class<?> getClass(final String str, final Class<?> cls) {<br />try {<br />return getClass(str);<br />} catch (Exception ex) {<br />return cls;<br />}<br />}<br />/**<br /> * Get <code>TimeZone</code><br /> */<br />public TimeZone getTimeZone(final String str) throws Exception {<br />String value = getProperty(str);<br />if (value == null) {<br />throw new Exception(str + " not found");<br />}<br />return TimeZone.getTimeZone(value);<br />}<br />/**<br /> * Get <code>TimeZone</code><br /> */<br />public TimeZone getTimeZone(final String str, final TimeZone tz) {<br />try {<br />return getTimeZone(str);<br />} catch (Exception ex) {<br />return tz;<br />}<br />}<br />/**<br /> * Get <code>DateFormat</code> object.<br /> */<br />public SimpleDateFormat getDateFormat(final String str) throws Exception {<br />String value = getProperty(str);<br />if (value == null) {<br />throw new Exception(str + " not found");<br />}<br />try {<br />return new SimpleDateFormat(value);<br />} catch (IllegalArgumentException e) {<br />throw new Exception("Date format was incorrect: " + value, e);<br />}<br />}<br />/**<br /> * Get <code>DateFormat</code> object.<br /> */<br />public SimpleDateFormat getDateFormat(final String str,<br />final SimpleDateFormat fmt) {<br />try {<br />return getDateFormat(str);<br />} catch (Exception ex) {<br />return fmt;<br />}<br />}<br />/**<br /> * Get <code>Date</code> object.<br /> */<br />public Date getDate(final String str, final DateFormat fmt)<br />throws Exception {<br />String value = getProperty(str);<br />if (value == null) {<br />throw new Exception(str + " not found");<br />}<br />try {<br />return fmt.parse(value);<br />} catch (ParseException ex) {<br />throw new Exception("PropertiesUtil.getdate()", ex);<br />}<br />}<br />/**<br /> * Get <code>Date</code> object.<br /> */<br />public Date getDate(final String str, final DateFormat fmt, final Date dt) {<br />try {<br />return getDate(str, fmt);<br />} catch (Exception ex) {<br />return dt;<br />}<br />}<br />/**<br /> * Set boolean value.<br /> */<br />public void setProperty(final String key, final boolean val) {<br />setProperty(key, String.valueOf(val));<br />}<br />/**<br /> * Set integer value.<br /> */<br />public void setProperty(final String key, final int val) {<br />setProperty(key, String.valueOf(val));<br />}<br />/**<br /> * Set double value.<br /> */<br />public void setProperty(final String key, final double val) {<br />setProperty(key, String.valueOf(val));<br />}<br />/**<br /> * Set float value.<br /> */<br />public void setProperty(final String key, final float val) {<br />setProperty(key, String.valueOf(val));<br />}<br />/**<br /> * Set long value.<br /> */<br />public void setProperty(final String key, final long val) {<br />setProperty(key, String.valueOf(val));<br />}<br />/**<br /> * Set <code>InetAddress</code>.<br /> */<br />public void setInetAddress(final String key, final InetAddress val) {<br />setProperty(key, val.getHostAddress());<br />}<br />/**<br /> * Set <code>File</code> object.<br /> */<br />public void setProperty(final String key, final File val) {<br />setProperty(key, val.getAbsolutePath());<br />}<br />/**<br /> * Set <code>DateFormat</code> object.<br /> */<br />public void setProperty(final String key, final SimpleDateFormat val) {<br />setProperty(key, val.toPattern());<br />}<br />/**<br /> * Set <code>TimeZone</code> object.<br /> */<br />public void setProperty(final String key, final TimeZone val) {<br />setProperty(key, val.getID());<br />}<br />/**<br /> * Set <code>Date</code> object.<br /> */<br />public void setProperty(final String key, final Date val,<br />final DateFormat fmt) {<br />setProperty(key, fmt.format(val));<br />}<br />/**<br /> * Set <code>Class</code> object.<br /> */<br />public void setProperty(final String key, final Class<?> val) {<br />setProperty(key, val.getName());<br />}<br />}<br /> 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.