A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 周靖轩 于 2014-8-16 16:44 编辑

InputStream ips = ReflectTest2.class.getClassLoader().getResourceAsStream("config.properties")

总是报错啊,试着在config.properties前面添加路径,试了好几种都报错
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 advstudy.ReflectTest2.main(ReflectTest2.java:17)



  1. package advstudy;

  2. import java.io.FileInputStream;
  3. import java.io.InputStream;
  4. import java.util.Collection;
  5. import java.util.Properties;

  6. public class ReflectTest2 {
  7.         public static void main(String[] args)throws Exception{
  8.                
  9.                 InputStream ips = new FileInputStream("config.properties");
  10.                 //InputStream ips = ReflectTest2.class.getClassLoader().getResourceAsStream("advstudy/config.properties");//(问题在这,如果注释掉上面第11行,用这一行的话就会报错,请问是不是文件路径不对,应该是什么路径。adcstudy是eclipse工程对应的src下的文件夹)
  11.                
  12.                 Properties props = new Properties();
  13.                 props.load(ips);
  14.                 ips.close();
  15.                 String className = props.getProperty("className");
  16.                 Collection collections = (Collection)Class.forName(className).newInstance();
  17.                
  18.                 //Collection collections = new HashSet();
  19.                 ReflectPoint rp1 =new ReflectPoint(3,3);
  20.                 ReflectPoint rp2 =new ReflectPoint(5,5);
  21.                 ReflectPoint rp3 =new ReflectPoint(3,3);
  22.                 collections.add(rp1);
  23.                 collections.add(rp2);
  24.                 collections.add(rp3);
  25.                 collections.add(rp1);
  26.                
  27.                
  28.                 System.out.println(collections.size());
  29.         }

  30. }
复制代码

6 个回复

正序浏览
fantacyleo 发表于 2014-8-16 22:25
ReflectTest2.class.getClassLoader().getResourceAsStream("advstudy/config.properties"); 这一行中的 ...

厉害啊,说的很有道理
回复 使用道具 举报
周靖轩 发表于 2014-8-16 20:12
我照着视频里做的,就是报错啊,第一种方式就没问题。那个类加载器就总是不对。会不会是系统问题啊。 ...

ReflectTest2.class.getClassLoader().getResourceAsStream("advstudy/config.properties"); 这一行中的方法是不会抛出空指针异常的,所以问题应该不出在这一行,你再检查一下
回复 使用道具 举报
fantacyleo 发表于 2014-8-16 17:58
我试了一下,和你一样的目录结构,没报错

我照着视频里做的,就是报错啊,第一种方式就没问题。那个类加载器就总是不对。会不会是系统问题啊。
回复 使用道具 举报
王凯路路 发表于 2014-8-16 18:12
亲, 第二种方法用绝对路径.

大神能否解释一下啊!详细一些,谢谢啦!:handshake
回复 使用道具 举报
亲, 第二种方法用绝对路径.
回复 使用道具 举报
我试了一下,和你一样的目录结构,没报错
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马