本帖最后由 tuanjie 于 2014-1-7 18:51 编辑
读取properties,同样的代码在java项目里没有问题,在java web项目里就出问题:
其中Properties文件为role.properties,内容为:
超级管理员=1111
管理员=2222
教师=3333
学生=4444
在java项目里
role.properties的位置:
请看下面的prop1.gif图
测试代码:
- package com.cn;
- import java.io.IOException;
- import java.io.InputStream;
- import java.util.Properties;
- public class Test {
- public static void main(String[] args) {
- Properties prop = new Properties();
- InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("role.properties");
- try {
- prop.load(in);
- } catch (IOException e) {
- e.printStackTrace();
- }
- String value = (String) prop.get("超级管理员");
- System.out.println(value);
- }
- }
复制代码 测试结果是:1111
但是在java web项目里,role.properties的位置:
请看下面的prop2.gif图片
测试代码:
- import java.io.IOException;
- import java.io.InputStream;
- import java.util.Properties;
- public class Test {
- public static void main(String[] args) {
- Properties prop = new Properties();
- InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("role.properties");
- try {
- prop.load(in);
- } catch (IOException e) {
- e.printStackTrace();
- }
- String value = (String) prop.get("超级管理员");
- System.out.println(value);
- }
- }
复制代码 测试结果:
Exception in thread "main" java.lang.NullPointerException
at java.util.Properties$LineReader.readLine(Properties.java:434)
at java.util.Properties.load0(Properties.java:353)
at java.util.Properties.load(Properties.java:341)
at Test.main(Test.java:11)
应该是InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("role.properties");这句代码出问题了
奇怪的是,同样的代码在,properties文件的位置都没有变,为什么在java项目里可以正常运行,而在java web项目里面不可以运行呢?
|
|