`
liudaoru
  • 浏览: 1576055 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java获取properties配置文件

    博客分类:
  • java
阅读更多

根据网上的例子总结了一下。

其中cache.properties放到src下,也可以放到WEB-INF下。

 

package test.bwl;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public class Test {
	private static Properties properties = new Properties();

	public static void main(String[] args) {
		try {
			InputStream is = Test.class.getClassLoader().getResourceAsStream("cache.properties");
			properties.load(is);
			String size = properties.getProperty("cache.size");
			writeLog("配置成功!" + size);
		} catch (FileNotFoundException e) {
			writeLog("配置文件不存在!" + e.getMessage());
		} catch (IOException e) {
			writeLog("读取配置文件IO错误!" + e.getMessage());
		}
	}

	public static void writeLog(String strLog) {
		System.out.println(strLog);
	}
}

 

分享到:
评论
3 楼 AnotherApp 2011-12-28  
来学习了,多谢分享
2 楼 liudaoru 2008-12-09  
File path = new File(ConfigUtil.class.getClassLoader().getResource("/conf/").getPath());
1 楼 liudaoru 2008-11-09  
package test.bwl;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FilenameFilter;
import java.io.IOException;
import java.io.InputStream;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import java.util.regex.Pattern;

/**
 * 配置信息管理器
 * 
 * @author		bwl 
 * @version		1.0
 */
public class ConfigManager {

	/**
	 * 提供单例对象的静态内部类
	 */
	private static class SingletonHolder {
		public static ConfigManager instance = new ConfigManager();
	}

	/**
	 * 获取对象实例
	 * @return
	 */
	public static ConfigManager getInstance() {
		return SingletonHolder.instance;
	}

	/**
	 * 存储问题列表的Map
	 */
	private Map<String, Properties> name2properties;

	/**
	 * 构造方法,请使用getInstance()获取实例
	 */
	private ConfigManager() {
		name2properties = Collections.synchronizedMap(new HashMap<String, Properties>());
		doInit();
	}

	/**
	 * 初始化方法 
	 */
	private void doInit() {
		try {
			File path = new File("./conf/");
			if (!path.exists()) {
				System.out.println("ConfilgManager Init Error: There is no folder named 'conf' under src file.");
				return;
			}
			File[] confFiles = path.listFiles(new DirFilter(".*\\.properties"));//\\
			for (int i = 0; i < confFiles.length; i++) {
				File f = confFiles[i];
				if (f.exists() && f.isFile()) {
					Properties properties = new Properties();
					InputStream is = new FileInputStream(f);
					properties.load(is);
					name2properties.put(f.getName(), properties);
				}
			}

		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	/**
	 * 获取配置项的值
	 * @param fileName	配置文件的名称
	 * @param key		关键码的值
	 * @return	配置项
	 */
	public String getProperty(String fileName, String key) {
		if (fileName == null || fileName.length() == 0) {
			return null;
		}
		Properties prop = name2properties.get(fileName);
		if (prop != null) {
			return prop.getProperty(key);
		}
		return null;
	}

	/**
	 * 获取整形的配置项的值
	 * @param fileName	配置文件的名称
	 * @param keyName	关键码的值
	 * @return	如果正确则返回数字,否则返回-1
	 */
	public int getIntProperty(String fileName, String key) {
		String value = this.getProperty(fileName, key);
		int result = -1;
		if (value == null) {
			return result;
		}
		try {
			result = Integer.parseInt(value);
			return result;
		} catch (Exception e) {
			//Do nothing
		}
		return result;
	}

	/**
	 * 过滤属性文件的内部类 
	 */
	class DirFilter implements FilenameFilter {

		/**
		 * 记录文件名格式的正则对象
		 */
		private Pattern pattern;

		public DirFilter(String regex) {
			pattern = Pattern.compile(regex);
		}

		public boolean accept(File dir, String name) {
			return pattern.matcher(new File(name).getName()).matches();
		}

	}

	public static void main(String[] args) {
		ConfigManager config = ConfigManager.getInstance();
		System.out.println(config.getIntProperty("cache.properties", "cache.size") + "");
		System.out.println(config.getProperty("javagroups.properties", "bus_name") + "");
	}

}

相关推荐

    java读取properties配置文件

    本文将详细介绍如何在Java中读取`properties`配置文件。 首先,我们需要了解`properties`文件的格式。一个标准的`.properties`文件通常包含多个行,每行由一个键和一个值组成,它们之间用等号(`=`)或冒号(`:`)...

    java读写properties配置文件

    #### 三、读取Properties配置文件 1. **读取单个键值** 在读取配置文件时,我们首先需要创建一个`Properties`对象,并使用`load`方法加载文件。接着可以通过`getProperty`方法获取指定键对应的值。 ```java ...

    Python实现读取Properties配置文件的方法

    在Python编程中,有时我们需要处理Java开发中常用的`.properties`配置文件。虽然Python标准库并未直接提供处理此类文件的模块,但我们可以自定义一个类来实现这个功能。本篇文章将详细探讨如何通过Python来读取并...

    java解析Properties配置文件为对象Bean

    利用java的反射解析Properties文件转成对象 /** * 解析properties文件为对象 * @param * @param propPath * @param cls * @return * @throws InstantiationException * @throws ...

    java 读取properties配置文件内容乱码

    NULL 博文链接:https://liuzidong.iteye.com/blog/776637

    java读取.properties配置文件的几种方法

    在Java编程中,读取`.properties`配置文件是常见的任务,这些文件通常用于存储应用程序的配置参数、系统设置等信息。下面将详细介绍几种在Java中读取`.properties`配置文件的方法。 1. 使用`java.util.Properties`...

    java读取WEB-INF或src目录下的properties配置文件

    大家都喜欢把配置文件放在src目录下,如果有10个以上的配置文件为什么不考虑在WEB-INF目录下新建一个文件夹,专门放配置文件;这样即好管理,文件安全性又高。亲问题已经解决,把源代码共享给大家,已经通过测试;...

    java 读取properties文件代码

    读取Properties文件是Java开发中的常见操作,特别是在需要根据配置文件动态改变程序行为的时候。下面我们将详细探讨如何在Java中读取Properties文件。 首先,你需要确保你的项目中包含了一个Properties文件,比如`...

    java读取properties文件(配置文件)

    java读取properties文件的工具类,传入配置文件名字和其中的key就可以读取

    java对properties配置文件的读和写

    读取properties配置文件** 在Java中读取`properties`文件通常涉及以下步骤: 1.1.1 创建`Properties`对象:`Properties`类是Java提供的内置类,用于处理`properties`文件中的键值对。 ```java Properties ...

    利用Java的Properties 类读取配置文件信息

    通过以上步骤,你可以使用Java的`Properties`类高效地读取、修改和保存配置文件,为你的应用程序提供灵活的配置管理。在实际项目中,你可能会将其封装到一个单独的类,如示例代码中的`PropertiesReader`,以提供更...

    java读取properties配置文件的方法

    Java读取Properties配置文件是Java开发中常见的任务,主要用于存储应用程序的配置参数,如数据库连接字符串、系统设置等。在Java中,我们可以使用`java.util.Properties`类来处理.properties文件。下面详细介绍两种...

    java读取配置文件

    最基础的方式是使用Java的I/O流来读取文本配置文件(通常是.properties格式)。例如,`java.io.FileInputStream`可以用来打开文件,然后`java.util.Properties`类可以加载并解析配置文件。以下是一个简单的示例: ...

    java读取properties文件

    NULL 博文链接:https://jeemygrow.iteye.com/blog/1162827

    读取properties文件内容

    ConfigFile configfile = ConfigFile.getInstance("ipConfig123.properties"); String ip = configfile.getkeyvalue("ip"); 可以取出ipConfig123.properties 文件中IP的内容

    读取properties文件返回map

    在Java编程中,`properties`文件是一种常用的配置文件格式,用于存储应用的配置参数或设置。这些文件通常以键值对的形式存在,如`key=value`。本篇将详细讲解如何在Java中读取`properties`文件并将其内容转换为`Map`...

    Java读取properties配置文件时,出现中文乱码的解决方法

    System.err.println("读取配置文件时发生错误:" + e.getMessage()); } return value; } public static void main(String[] args) { String configValue = getConfig("myConfigKey"); System.out.println(...

    使用Java读取XML配置文件

    使用 Java 读取 XML 配置文件 Java 语言和 XML 技术可以说是黄金组合,网上已经有很多文章介绍 XML 在电子商务中的数据交换的作用。但是在平时系统开发中,我们不一定都用到数据交换,是否无法使用 XML?当然不是...

    JAVA读取properties文件的值

    在Java编程中,`properties`文件是一种常用的配置文件格式,用于存储程序的配置信息,如数据库连接字符串、系统参数等。这些数据以键值对的形式存在,键与值之间用等号(=)或冒号(:)分隔。本篇文章将详细探讨如何...

    Java读取properties文件的三种方式

    在Java编程中,读取properties文件是常见的任务,主要用于配置应用程序的参数或环境变量。properties文件通常以键值对的形式存储数据,便于管理和修改。本文将详细介绍三种在Java中读取properties文件的方法。 1. ...

Global site tag (gtag.js) - Google Analytics