java读取properties

自己写的一个读取properties工具类

package com.avonaco.web.excel;

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class PropertiesUtil {
	
	private static final Log log = LogFactory.getLog(PropertiesUtil.class);

	private static Properties properties = new Properties() ;
	
	public static final String US = "ApplicationResources.properties";          //英文

	public static final String CHINA = "ApplicationResources_zh_CN.properties"; //中文
	
	public static final String CHINA_USER = "ApplicationResourcesUserManager_zh_CN.properties" ;
	
	public static final String US_USER = "ApplicationResourcesUserManager.properties";
	/**
	 * @desc 取得全部的key和value
	 * @param propertiesName
	 * @return
	 * @author:  lic
	 * @datetime:2011-12-14 上午9:50:21
	 */
	@SuppressWarnings({ "rawtypes", "unchecked" })
	public static Map getProperties( String propertiesName){
		
		Map map = new HashMap(); 
		
		if ( propertiesName != null && !propertiesName.equals("") ){
			String  url = PropertiesUtil.getPropertiesPath(propertiesName);
			if( log.isDebugEnabled() ){
				log.debug(">>>>>>>>>>>>>>>>>>>获取Properties文件路径-- " + url);
			}
			
			try {
				InputStream in =new BufferedInputStream(new FileInputStream(url));
				PropertiesUtil.properties.load(in);
				
				System.out.println("1");
				  Enumeration en = PropertiesUtil.properties.propertyNames();
				   while (en.hasMoreElements()) {
					   String key = (String) en.nextElement();
					   String value = PropertiesUtil.properties.getProperty(key);
					 map.put(key, value);
				    System.out.println();
				    if( log.isDebugEnabled()){
				    	log.debug(">>>>>>>>>>>>>>>>>>>>>>>>>>  " + propertiesName + " -- : " + key  + " >>> value = " + value);
				    }
				   }
			} catch (Exception e) {
				log.debug(">>>>>>>> PropertiesUtil取得全部的key和value出错  :  " + e);
				e.printStackTrace();
			}
		}
		
		
		return map ;
	}
	
	
	
	/**
	 * @desc 根据key得到properties的value
	 * @param propertiesKey
	 * @return Map
	 * @author:  lic
	 * @datetime:2011-12-14 上午10:02:13
	 */
	@SuppressWarnings("rawtypes")
	public static String getPropertiesValue( String propertieskey , String filename){
			
			String value = "" ;
			
			if ( propertieskey != null && !propertieskey.equals("") ){
				String pkey = filename;
				String  url = PropertiesUtil.getPropertiesPath(filename);
				try {
					InputStream in =new BufferedInputStream(new FileInputStream(url));
//					this.properties.load(in);
					PropertiesUtil.properties.load(in);
					System.out.println("1");
//					  Enumeration en = properties.propertyNames();
					  Enumeration en = PropertiesUtil.properties.propertyNames();
					   while (en.hasMoreElements()) {
						   String key = (String) en.nextElement();
						   if ( key.equals(propertieskey) ){
//							   value = this.properties.getProperty(key);
							   value = PropertiesUtil.properties.getProperty(key);
						   }
					   }
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
			
			
			return value ;
		}
		
	

	/**
	 * @desc 根据properties文件名获取路径
	 * @param propertiesKey
	 * @return Map
	 * @author:  lic
	 * @datetime:2011-12-13 下午15:53:58
	 */
	public static String getPropertiesPath( String propertiesName ){
			
			String path = "";
			if ( propertiesName != null && !propertiesName.equals("") ){
				path = PropertiesUtil.class.getClassLoader().getResource(propertiesName).toString().substring(6);
			}
			
			return path ;
	}
		
		
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 文件的方法 Java读取properties配置文件的方法如下: 1. 创建一个Properties对象。 2. 使用Properties对象的load方法加载配置文件。 3. 使用Properties对象的getProperty方法获取配置项的值。 示例代码如下: ``` Properties prop = new Properties(); try { prop.load(new FileInputStream("config.properties")); String value = prop.getProperty("key"); System.out.println(value); } catch (IOException e) { e.printStackTrace(); } ``` 其中,config.properties是配置文件的文件名,key是配置项的名称。如果配置文件中有多个配置项,可以使用getProperty方法多次获取不同的配置项的值。 ### 回答2: Java读取properties文件是比较常见的操作,properties文件通常用于存储一些配置信息,例如数据库连接信息、系统配置等。以下是Java读取properties配置文件的步骤: 1. 创建Properties对象:使用JavaProperties类创建一个Properties对象,该对象用于读取和存储properties文件中的数据。 2. 加载properties文件:使用Properties对象的load()方法,将properties文件加载到Properties对象中。load()方法接收一个输入流作为参数,可以是文件输入流或者是类路径下的资源输入流。 3. 读取properties文件:通过Properties对象的getProperty()方法,获取properties文件中的键值对数据。getProperty()方法接收一个字符串类型的key参数,返回该key对应的value值。 4. 关闭输入流:使用文件输入流或资源输入流时,需要手动关闭输入流。 示例代码: ```java import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Properties; public class ReadPropertiesFileDemo { public static void main(String[] args) { Properties properties = new Properties(); InputStream inputStream = null; try { // 使用文件输入流加载properties文件 inputStream = new FileInputStream("config.properties"); // 加载properties文件 properties.load(inputStream); // 读取properties文件中的数据 String username = properties.getProperty("username"); String password = properties.getProperty("password"); System.out.println("username: " + username); System.out.println("password: " + password); } catch (IOException e) { e.printStackTrace(); } finally { try { // 关闭输入流 if (inputStream != null) { inputStream.close(); } } catch (IOException e) { e.printStackTrace(); } } } } ``` 在上面的示例代码中,我们使用文件输入流加载了一个名为config.propertiesproperties文件,然后通过Properties对象的getProperty()方法获取了该文件中的username和password数据,并输出到控制台中。 在实际开发中,我们通常将properties文件放在类路径下,这样可以很方便地使用类路径下的资源输入流来加载properties文件。例如: ```java InputStream inputStream = ReadPropertiesFileDemo.class.getClassLoader().getResourceAsStream("config.properties"); ``` 以上就是Java读取properties配置文件的方法,可以方便地读取配置信息,提高代码的可配置性。 ### 回答3: Java读取properties配置是一项非常重要的技能,很多Java应用程序都需要通过读取properties文件来加载一些配置信息,这些配置信息包括了一些常量,例如数据库的连接信息、邮件服务器的地址等等。在Java中使用Properties类来读取properties文件,以下是具体的步骤: 1. 创建Properties对象。Properties对象用于存储properties文件中的键值对。 Properties props = new Properties(); 2. 加载properties文件。可以通过InputStream或者Reader来加载properties文件,以下是通过InputStream来加载properties文件的示例代码。 InputStream in = this.getClass().getResourceAsStream("config.properties"); props.load(in); 3. 获取Properties中的配置项。可以通过getProperty方法获取Properties对象中的配置项的值,例如读取数据库连接信息的示例代码。 String url = props.getProperty("db.url"); String username = props.getProperty("db.username"); String password = props.getProperty("db.password"); 4. 关闭输入流。使用完输入流后,一定要记得关闭它,释放资源。 in.close(); Java读取properties配置的过程很简单,但需要注意以下几点: 1. properties文件中的键值对之间必须使用等号“=”连接,例如“db.url=jdbc:mysql://localhost:3306/test”。 2. properties文件中可以使用“#”或者“!”开头的行作为注释,这些行会被Properties对象忽略。 3. 建议将properties文件放在resources目录下,使用getResourceAsStream来加载文件。 4. 如果properties文件在classpath下的某个目录中,需要使用“/”符号来指定路径。 总之,Java读取properties配置是基本的Java编程技能之一,掌握了这个技能后,就可以轻松地读取properties文件中的配置信息,方便地管理Java应用程序的各种配置参数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值