java读取properties文件
publicclassgetProperties{privatestaticPropertiesconfig=null;static{InputStreamin=getP...
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();
}
}
config.properties文件:
#area message phone :
LaSaPhone=08916539292
RikaZePhone=08916539292
ShanNanPhone=08916539292
LiZhiPhone=08916539292
ALiPhone=08916539292
ChangDuPhone=08916539292
NaQuPhone=08916539292
我将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");
这个也不行啊,这是怎么回事? 展开
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();
}
}
config.properties文件:
#area message phone :
LaSaPhone=08916539292
RikaZePhone=08916539292
ShanNanPhone=08916539292
LiZhiPhone=08916539292
ALiPhone=08916539292
ChangDuPhone=08916539292
NaQuPhone=08916539292
我将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");
这个也不行啊,这是怎么回事? 展开
10个回答
展开全部
InputStream in = getProperties.class.getClassLoader().getResourceAsStream(
"config.properties");
这一句换个写法试试:
Properties props = new Properties();
String url = this.getClass().getClassLoader().getResource(
"config.properties").toString().substring(6);
String empUrl = url.replace("%20", " ");// 如果你的文件路径中包含空格,是必定会报错的
System.out.println(empUrl);
InputStream in = null;
try {
in = new BufferedInputStream(new FileInputStream(empUrl));
props.load(in);
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
我就是一直这么写的,没问题。
我猜你读取文件为空的原因,是你的文件路径有空格。
"config.properties");
这一句换个写法试试:
Properties props = new Properties();
String url = this.getClass().getClassLoader().getResource(
"config.properties").toString().substring(6);
String empUrl = url.replace("%20", " ");// 如果你的文件路径中包含空格,是必定会报错的
System.out.println(empUrl);
InputStream in = null;
try {
in = new BufferedInputStream(new FileInputStream(empUrl));
props.load(in);
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
我就是一直这么写的,没问题。
我猜你读取文件为空的原因,是你的文件路径有空格。
展开全部
InputStream in = getProperties.class.getClassLoader().getResourceAsStream("config.properties");
这句改成
InputStream in = getProperties.class.getResourceAsStream("config.properties");
就可以了
这句改成
InputStream in = getProperties.class.getResourceAsStream("config.properties");
就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Java读取properties文件的方法比较多;
在最常用的读取properties文件的方式--->“通过java.lang.Class类的getResourceAsStream(String name) 方法来实现”;
代码:
InputStream in = getClass().getResourceAsStream("资源Name");
在最常用的读取properties文件的方式--->“通过java.lang.Class类的getResourceAsStream(String name) 方法来实现”;
代码:
InputStream in = getClass().getResourceAsStream("资源Name");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
文件放到src下,使用
InputStream in =
new ClassPathResource("config.properties").getInputStream();
InputStream in =
new ClassPathResource("config.properties").getInputStream();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
config.properties 这个文件是在src下面,getProperties.java文件是在
com.liuchen包下面,这样可以运行的,我已经试过了。
com.liuchen包下面,这样可以运行的,我已经试过了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询