又是一个getClass().getResourceAsStream 问题,不过我的有点不同
我在proRead 中读到一个.properties 文件到一个它的一个属性当中
public Properties getP() {
InputStream is = getClass().getResourceAsStream(
"/ch06/Properties/dbInfo.Properties"); try { p.load(is);
} catch (Exception e) {
} return p;
}
另写一个类测试public static void  main(String[] args)
{
ProRead  pr= ProRead.getInstanse();
Properties p =pr.getP();

String strDriver= p.getProperty("driver");
String strUrl =p.getProperty("url");
String strUser =p.getProperty("user");
String strPwd =p.getProperty("password");

System.out.println(strDriver);
System.out.println(strUrl);
System.out.println(strUser);
System.out.println(strPwd);

}
这没有问题,
但我用另一个静态方法 init() 写ProRead  pr= ProRead.getInstanse();
Properties p =pr.getP();
再用它的构造方法调用init()时,为什么读到的输入流 is 为这null 啊。各位大侠,请帮我看下是什么原因啊

解决方案 »

  1.   

    但我用另一个静态方法 init() 写ProRead  pr= ProRead.getInstanse();
    Properties p =pr.getP();
    再用它的构造方法调用init()时
    -------------------------------
    你是不是说你写了一个静态方法init(),然后在init()中写:
    ProRead  pr= ProRead.getInstanse();
    Properties p =pr.getP();
    然后又用谁的构造方法调用init()呢?
    我觉得你表达得不大清楚啊,建议你贴出源码吧,我看你这也只是个测试代码,这样大家更好帮你看啊