JAVA程序从属性文件(.Properties)中取得某属性的值

一、调用属性文件属性的代码:

 String url=SmsProperties.get("sms_address_frontend");//取地址如sms_address_frontend=http://172.16.1.9:8280/sms_frontend/services/smsSenderWebService

 

 

 String smsServer = SmsProperties.get("sms_server_name");//发送短信的服务账号(这里可以取中文属性值,在下面转码)
    String ss="";
 try {
  ss = new String(smsServer.getBytes("ISO8859_1"),"utf-8");
 } catch (UnsupportedEncodingException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }//

 

//

 

二、SmsProperties.java文件代码为

package com.skylink.common.config;
/**
 * WINTV-BOSS相关配置
 */
import java.io.DataOutputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.util.Properties;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;


public class SmsProperties {

    private static Log log = LogFactory.getLog( SmsProperties.class );

    private static String FILE_NAME = "/sms_config.properties"; //文件名
    private static final Properties conf_PROPERTIES;

 

 

  static
  {
    conf_PROPERTIES = new Properties();

    InputStream stream = SmsProperties.class.getResourceAsStream(FILE_NAME);
    if ( stream == null ) {
      log.warn( FILE_NAME + " not found" );
    }
    else {
      try {
        conf_PROPERTIES.load( stream );
        log.info( "loaded properties from resource " + FILE_NAME + ": " + conf_PROPERTIES );
      }
      catch ( Exception e ) {
        log.error( "problem loading properties from " + FILE_NAME );
      }
      finally {
        try {
          stream.close();
        }
        catch ( IOException ioe ) {
          log.error( "could not close stream on " + FILE_NAME, ioe );
        }
      }
    }
  }

  public static Properties getProperties()
  {
    return conf_PROPERTIES;
  }

  public static void save()
  {
    try {
      URL url = SmsProperties.class.getResource( FILE_NAME);
      String filePath = java.net.URLDecoder.decode( url.getFile(), "utf-8" );
      log.info( "saving properties to :" + filePath );

      FileOutputStream fout = new FileOutputStream( filePath );
      DataOutputStream out = new DataOutputStream( fout );

      conf_PROPERTIES.store( out, "系统保存" );
    }
    catch ( FileNotFoundException ex ) {
      log.warn( ex.getMessage() );
    }
    catch ( UnsupportedEncodingException ex ) {
      log.warn( ex.getMessage() );
    }
    catch ( IOException ex ) {
      log.warn( ex.getMessage() );
    }

  }


  public static String get( String key )
  {
    return conf_PROPERTIES.getProperty( key );
  }

  public static int getIntValue( String key )
  {
    return getIntValue( key, 0 );
  }

  public static int getIntValue( String key, int defaultValue )
  {
    String str = conf_PROPERTIES.getProperty( key );
    int value = 0;
    try {
      value = Integer.parseInt( str );
    }
    catch ( NumberFormatException ex ) {
      value = defaultValue;
    }
    return value;
  }

  public static void main( String[] args )
  {
    //String tmpAry[][] = getGxtvProductAry();
  }

}


 

三、属性文件 sms_config.properties的代码为:

 

#短信服务地址
webroot_langci=http://172.16.1.9:8280/skylink_sms_lc

#接口webservice
sms_address_langci=http://172.16.1.9:8280/skylink_sms_lc/services/sms/smsService

#短信前置机webservice
sms_address_frontend=http://172.16.1.9:8280/sms_frontend/services/smsSenderWebService

#发送短信的服务账号
sms_server_name=开发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值