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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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处却总是空指针异常?

3 个回复

倒序浏览
简化后就算这样了 抛出空指针异常
InputStream in= Test.class.getResourceAsStream("config.properties");
                System.out.println(in.read());
in怎么会空指?我是照着老师的代码敲的啊
回复 使用道具 举报
本帖最后由 yuZhe_toString 于 2014-8-22 13:41 编辑

一看就是没获取到配置文件的资源。
InputStream in = Test.class.getClassLoader().getResourceAsStream("config.properties");
你的资源文件最好不要跟当前文件放在一个文件夹下,可以直接放在当前文件夹外。
回复 使用道具 举报
不要把两个文件放在同一文件夹,。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马