当前位置: 代码迷 >> Java Web开发 >> 读取properties文件有关问题
  详细解决方案

读取properties文件有关问题

热度:66   发布时间:2016-04-17 16:33:24.0
读取properties文件问题
我的代码如下:
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” 没有 /
  相关解决方案