我的代码如下:
Properties prop = new Properties();
InputStream is=getClass().getResourceAsStream( "/hibernate.properties ");//hibernate.properties放就放在当前路径;
try{
prop.load(is);
}catch(Exception e){
e.printStackTrace();
}
hibernate.properties内容如下:
hibernate.dialect = org.hibernate.dialect.SQLServerDialect
hibernate.connection.driver_class = com.microsoft.jdbc.sqlserver.SQLServerDriver
hibernate.connection.url = jdbc:microsoft:sqlserver://localhost;databasename=hibernate
hibernate.connection.username = sa
hibernate.connection.password = sa
错误如下:java.lang.NullPointerException
at java.util.Properties$LineReader.readLine(Unknown Source)
at java.util.Properties.load(Unknown Source)
为什么提示读取不到文件啊?
------解决方案--------------------
InputStream is=getClass().getResourceAsStream( "/hibernate.properties ");
把这个改成FileInputStream is = new FileInputStream( "/hibernate.properties ");
记得用完后is.close();
------解决方案--------------------
我已经测试成功了
我的目录结构是
com/test/Test.class
com/test/hibernate.properties
去掉 /
而且 InputStream is=getClass().getResourceAsStream 这句 有问题
改成 InputStream is= Test.class.getResourceAsStream
------解决方案--------------------
有 / 的话放在 与com 一级 也是可以的
------解决方案--------------------
这个和你的classpath有关系
你编译的时候不是会有个classpath的参数么
如果你使用getResourceAsStream( "/ ")的话,/目录就和你的classpath目录同级
如果你直接FileInputStream( "/ ")的话,/目录就是你当前分区的根目录,如果是D盘就是D:\
------解决方案--------------------
回复interpb(曾曾胡,深怕情多累美人!!!) ( )
我的意思是你的InputStream is= Test.class.getResourceAsStream()括号中是怎么写的?
、、、、、、、、、、、、、、、、、
就是文件名啊 “hiberxxxxxx” 没有 /