java读取.properties文件

时间:2021-02-19 17:26:00

    在web开发过程中,有些配置要保存到properties文件里,本章将给出一个工具类,用来方便读取properties文件。

案例:

1:config.properties文件

name=\u843D\u82B1\u6709\u610F
str=\u6D41\u6C34\u65E0\u60C5

2:PropertiesUtil 类

package com.gcs.util;

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties; public class PropertiesUtil {
private static String default_properties = "文件名.properties";
private static Properties prop;
static {
prop = new Properties();
try {
InputStream is = new BufferedInputStream(new FileInputStream(getPath() + default_properties));
prop.load(is);
} catch (Exception e) {
e.printStackTrace();
}
} public static String getProperty(String key) {
return prop.getProperty(key);
} public static String getProperty(String key, String defaultValue) {
String value = prop.getProperty(key);
if (value == null)
return defaultValue;
return value;
} public static boolean getBooleanProperty(String name, boolean defaultValue) {
String value = prop.getProperty(name);
if (value == null) return defaultValue;
return (new Boolean(value)).booleanValue();
} public static int getIntProperty(String name) {
return getIntProperty(name, 0);
} public static int getIntProperty(String name, int defaultValue) {
String value = prop.getProperty(name);
if (value == null) return defaultValue;
return (new Integer(value)).intValue();
} public static String getPath() {
return Thread.currentThread().getContextClassLoader().getResource("").getPath();
} /**
* 读取指定properties中的值
* @param properties 文件名
* @param name 要读取的属性
* @return
*/
private String readProper(String properties, String name) {
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(properties);
Properties p = new Properties();
try {
p.load(inputStream);
} catch (IOException e1) {
e1.printStackTrace();
}
return p.getProperty(name);
} public static void main(String[] args) {
PropertiesUtil propertiesUtil = new PropertiesUtil();
String name = PropertiesUtil.getProperty("name");
String str = propertiesUtil.readProper("config.properties","str");
System.out.println("name=="+name+","+"str=="+str);
}
}