我的程序使用properties文件作为配置文件,当所有JAVA文件和配置文件都位于同一目录下时,程序没问题。但是当把JAVA文件分为几个package后,就出问题了。
例如,
在项目目录testproject里,有com.company.project.util这样一个包,包里有一个专门用于读写properties文件的类,配置文件xx.properties直接放在testproject下。然后发现,读这个配置文件时,会说找不到该文件,写就没问题。如果读的时候在文件名前加一个“/”就可以,但是写又不行了,会默认写到该盘根日录下。请各位帮帮忙,谢谢!

解决方案 »

  1.   

    是不是采用Class.getResourceAsStream方法读取文件的呢
      

  2.   

    是的,现在发现用FileInputStream来读取文件就没有问题了。真是谢谢啊!另外,用Class.getResourceAsStream来读取,跟用FileInputStream来读取,效果上有什么不同?等下就给分,谢谢:)
      

  3.   

    FileInputStream认文件路径,是操作系统路径path,而Class.getSourceAsStream是JVM找文件,装载class文件时认classpath,你试试看,一般配置文件都是跟.class字节码文件放一起,
      

  4.   

    楼上说得很对,getSourceAsStream使用这个方法时properties文件要放到classpath里面,就是放到WEB-INF/classes这个目录里面,WEB应用服务器自动把这个文件放到了classpath里面了,使用FileInputStream,可以自定义文件得位置。