Java读取配置文件的几种方式
1.利用java.util.Properties类
import java.util.Properties;
import java.io.InputStream;
import java.io.IOException;
/**
* 读取Properties文件的例子
* File: TestProperties.java
* User: leizhimin
* Date: 2008-2-15 18:38:40
*/
public final class TestProperties {
private static String param1;
private static String param2;
static {
Properties prop = new Properties();
InputStream in = Object. class .getResourceAsStream( "/test.properties" );
try {
prop.load(in);
param1 = prop.getProperty( "initYears1" ).trim();
param2 = prop.getProperty( "initYears2" ).trim();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 私有构造方法,不需要创建对象
*/
private TestProperties() {
}
public static String getParam1() {
return param1;
}
public static String getParam2() {
return param2;
}
public static void main(String args[]){
System.out.println(getParam1());
System.out.println(getParam2());
}
}
2.利用spring 的PropertiesLoaderUtils
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PropertiesLoaderUtils;
public class Config{
private static final long serialVersionUID = 1L;
public static String get(String filename, String key) {
String value = "";
if (filename != null && key != null) {
FileInputStream fis = null;
try {
Resource resource = new ClassPathResource(filename);
Properties prop = PropertiesLoaderUtils.loadProperties(resource);
value = prop.getProperty(key);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
return value;
}
public static void main(String[] args) {
System.out.println(Config.get("configs/test.properties", "client_id"));
}
3.利用apache 的propertiesConfiguration
public static String getBrokerName() {
try {
return new PropertiesConfiguration("configs/config.properties").getString("NAME");
} catch (ConfigurationException e) {
e.printStackTrace();
}
return "";
}