黑马程序员技术交流社区
标题:
java读取properties文件
[打印本页]
作者:
陈红建
时间:
2012-8-2 08:59
标题:
java读取properties文件
我将config.properties文件放在根目录下,但运行时报:
java.lang.ExceptionInInitializerError
Caused by: java.lang.NullPointerException
at java.io.Reader.<init>(Reader.java:61)
at java.io.InputStreamReader.<init>(InputStreamReader.java:80)
at java.util.Properties.load(Properties.java:189)
at com.liuchen.getProperties.<clinit>(getProperties.java:16)
Exception in thread "main"
似乎config.load(in);这里的in是null,但有文件啊,这是怎么回事?谢谢!
已经放在src目录了,但还是报那个错的 InputStream in=getProperties.class.getClassLoader().getResourceAsStream("/config.properties"); 这个也不行啊,这是怎么回事?
public class getProperties {
private static Properties config = null;
static {
InputStream in = getProperties.class.getClassLoader().getResourceAsStream(
"config.properties");
config = new Properties();
try {
config.load(in);
in.close();
} catch (IOException e) {
System.out.println("No AreaPhone.properties defined error");
}
}
// 根据key读取value
public static String readValue(String key) {
// Properties props = new Properties();
try {
String value = config.getProperty(key);
return value;
} catch (Exception e) {
e.printStackTrace();
System.err.println("ConfigInfoError" + e.toString());
return null;
}
}
// 读取properties的全部信息
public static void readAllProperties() {
try {
Enumeration en = config.propertyNames();
while (en.hasMoreElements()) {
String key = (String) en.nextElement();
String Property = config.getProperty(key);
System.out.println(key + Property);
}
} catch (Exception e) {
e.printStackTrace();
System.err.println("ConfigInfoError" + e.toString());
}
}
public static void main(String args[]) {
// String LaSaPhone=config.getProperty("LaSaPhone");
// System.out.println(LaSaPhone);
// System.out.println(getPhone.readValue("LaSaPhone"));
getProperties.readAllProperties();
}
}
复制代码
作者:
胡文凡
时间:
2012-8-2 09:49
问题找到了
package cn.itcast.day1;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.Properties;
public class getProperties {
private static Properties config = null;
static {
InputStream in = getProperties.class.getResourceAsStream(
//此处找的是在加载器目录下的配置文件。方法已经封装了加载器的步骤。原来的多了
"config.properties");
config = new Properties();
try {
System.out.println("aa"); //加了判断,看看是不是空。。。。。。。
if(in==null){
System.out.println("bb");
}
config.load(in);
in.close();
} catch (IOException e) {
System.out.println("No AreaPhone.properties defined error");
}
}
// 根据key读取value
public static String readValue(String key) {
// Properties props = new Properties();
try {
String value = config.getProperty(key);
return value;
} catch (Exception e) {
e.printStackTrace();
System.err.println("ConfigInfoError" + e.toString());
return null;
}
}
// 读取properties的全部信息
public static void readAllProperties() {
try {
Enumeration en = config.propertyNames();
while (en.hasMoreElements()) {
String key = (String) en.nextElement();
String Property = config.getProperty(key);
System.out.println(key + Property);
}
} catch (Exception e) {
e.printStackTrace();
System.err.println("ConfigInfoError" + e.toString());
}
}
public static void main(String args[]) {
// String LaSaPhone=config.getProperty("LaSaPhone");
// System.out.println(LaSaPhone);
// System.out.println(getPhone.readValue("LaSaPhone"));
getProperties.readAllProperties();
}
}
运行结果:
aa
classNamejava.util.HashSet
作者:
陈红建
时间:
2012-8-2 14:28
我晕啊。。脑袋疼了。标题求加分啊。这么经典的问题。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2