黑马程序员技术交流社区

标题: 费了一个多小时也搞不清下面简单代码哪儿出了问题 [打印本页]

作者: 笑轻轻    时间: 2014-8-22 11:45
标题: 费了一个多小时也搞不清下面简单代码哪儿出了问题
import java.awt.List;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Collection;
import java.util.Properties;


public class Properties类读取配置文件 {

        public static void main(String[] args)throws Exception {
A:                //InputStream in=new FileInputStream("src/ddd/config.properties");
B:                InputStream in= Properties类读取配置文件.class.getClassLoader().getResourceAsStream("src/ddd/config.properties");
                Properties p=new Properties();
                p.load(in);//从流中载入配置文件
                in.close();
                String str=p.getProperty("classname");
                Collection c=(Collection)Class.forName(str).newInstance();
                System.out.println(c);
        }
}
为什么A处没有问题?而B处却总是空指针异常?


作者: 笑轻轻    时间: 2014-8-22 12:05
简化后就算这样了 抛出空指针异常
InputStream in= Test.class.getResourceAsStream("config.properties");
                System.out.println(in.read());
in怎么会空指?我是照着老师的代码敲的啊
作者: yuZhe_toString    时间: 2014-8-22 13:39
本帖最后由 yuZhe_toString 于 2014-8-22 13:41 编辑

一看就是没获取到配置文件的资源。
InputStream in = Test.class.getClassLoader().getResourceAsStream("config.properties");
你的资源文件最好不要跟当前文件放在一个文件夹下,可以直接放在当前文件夹外。
作者: 杨列振    时间: 2014-8-22 13:48
不要把两个文件放在同一文件夹,。




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