FileInputStream读文件路径问题

qrhome 2003-06-13 04:17:52
/*属性文件:db.properties */
Properties props = new Properties();
props.load(new FileInputStream("db.properties"));

发生异常 Exception:java.io.FileNotFoundException: db.properties<系统找不到指定文件。
相对路径怎么指定?
必须用绝对路径么?如:D:\db.properties
望指教
...全文
11588 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wolfsquare 2003-06-19
  • 打赏
  • 举报
回复 1
props.load(new FileInputStream("db.properties")); 是读取当前目录的db.properties文件
getClass.getResourceAsStream("db.properties"); 是读取当前类所在位置一起的db.properties文件
getClass.getResourceAsStream("/db.properties"); 是读取ClassPath的根的db.properties文件,注意ClassPath如果是多个路径或者jar文件的,只要在任意一个路径目录下或者jar文件里的根下都可以,如果存在于多个路径下的话,按照ClassPath中的先后顺序,使用先找到的,其余忽略.
cashtang 2003-06-19
  • 打赏
  • 举报
回复
如果在Web中,getServletContext().getResourceAsStream("/WEB-INF/db.properties")
gotoidea 2003-06-19
  • 打赏
  • 举报
回复
如果你这个Bean打包的话,就把这个文件放在包内。

我一般是这样写的
Properties prop = new Properties();
try
{
InputStream is = getClass().getResourceAsStream("db.properties");
prop.load(is);
if(is!=null)
is.close();
}
qrhome 2003-06-19
  • 打赏
  • 举报
回复
继续提问
Alain_Delone 2003-06-13
  • 打赏
  • 举报
回复
晕,我也遇到这样问题,我在WSAD里做的,在类的同一目录下放了properties文件

可是直接用文件名报错找不到,

直接写全路径不是写死了啊?怎么引用类相同的目录 啊
qrhome 2003-06-13
  • 打赏
  • 举报
回复
如果我希望在TOMCAT中用属性文件,而且希望是相对路径。怎么办?
neuyqy 2003-06-13
  • 打赏
  • 举报
回复
路径名最好写全,c:\\test\\db.properties 这样应该没有问题!
liusoft 2003-06-13
  • 打赏
  • 举报
回复
如果你只是输入文件名,那java虚拟机默认是执行java XXXX命令所在的目录

例如:

C:\test>java test

那db.properties就是C:\test\db.properties

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧