黑马程序员技术交流社区

标题: 关于properties报错的问题 急急急!! [打印本页]

作者: 刘印12    时间: 2013-4-4 19:42
标题: 关于properties报错的问题 急急急!!
本帖最后由 刘印12 于 2013-4-4 21:44 编辑

import java.io.File;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public class PropsUities {
private Properties props;
public PropsUities(String src){//创建打开Properties配置文件的方法
  props=new Properties();
  InputStream in=null;
  try {
   in=new FileInputStream( src);
   props.load(in);
  } catch (Exception e) {
   e.printStackTrace();
  }
  finally{
   try {
    in.close();
   } catch (IOException e) {
    e.printStackTrace();
   }
  }
}
public Object getBean(String ClazzName)throws Exception{//通过获取键的名字获取该类名并创建该类的实例对象
  Object obj=Class.forName(props.getProperty(ClazzName)).newInstance();
  return obj;
}
public static  void main(String[] args)throws Exception{
  DemoClass dc=(DemoClass)new  PropsUities("D:\\clazz.properties").getBean("ClazzName");
  dc.run();
}


}
class DemoClass {
public void run() {
  System.out.println("welcome to heima!");
}
}


我的配置文件放在了d盘下 命名为clazz.prorerties       内部内容为clazzName=DemoClass    以下是报错内容


Exception in thread "main" java.lang.NullPointerException
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at com.itheima.PropsUities.getBean(PropsUities.java:44)
at com.itheima.PropsUities.main(PropsUities.java:49)


请问我到底是哪里错了呢

作者: lucy198921    时间: 2013-4-4 20:17
提示是JAVA lang包里的空指针异常  NullPointerException

另外还有就是你的主方法编程有误.
作者: 袁杰    时间: 2013-4-4 21:14
程序在我电脑上测试无误,输出:
        C:\Users\Jack>java PropsUities
        welcome to heima!
因此初步判断:是clazz.properties文件出问题
           请查看:1,clazz.properties文件所在地为:   "D:\\clazz.properties"
                         2,clazz.properties文件中的内容为:ClazzName=DemoClass

我添加的文件为我所建的clazz.properties文件,你解压到D盘试试

clazz.rar

99 Bytes, 下载次数: 100


作者: 王溢君    时间: 2013-4-4 21:42
你的JDK版本过低了,要1.6以上的。
作者: 刘印12    时间: 2013-4-4 21:42
谢谢!我换了一个简单的代码重新编程!不过还是谢谢你了!以后有不懂的地方还请你多费费心




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2