关于文件路径的问题

fingertiploneliness 2005-03-14 01:39:50
象配置log4j时候得log4j.properties文件,我放在eclipse当前j2ee工程的src根目录下,编译到web-inf/classes下面.如果在调试和部署的时候都能得到正确的引用?
在eclipse中
File f = new File("log4j.properties");
System.out.println(f.getAbsolutePath());
输出结果是:E:\eclipse\workspace\工程名字\log4j.properties !!!而不是当前类所在的位置,象log4j的这样的配置,不应该使用绝对路径吧?如何结局这样的问题??
...全文
124 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
dongcenphoenix 2005-03-15
mark
回复
up
回复
blackhost 2005-03-15
如果你是在Servlet中读取,则可以
InputStream log4j = InitServlet.class.getResourceAsStream(
"/log4j.properties");
Properties props = new Properties();
props.load(log4j);
org.apache.log4j.PropertyConfigurator.configure(props);
回复
zcjl 2005-03-15
你用new File("filepath/filename");的方式
如果不能从该filepath中找到这个名为filename的文件
则会创建一个新的文件,等待被写入。

如果此时调用System.out.println(f.exists());
应该可以看到显示的是false,即该文件在硬盘中是不存在的

想要正确找到classes目录下的文件,可以用这样的方式:
URL fileURL = Thread.currentThread().getContextClassLoader().getResource("log4j.properties");
File file = new File(fileURL.getFile());
回复
julian_zzx 2005-03-15
我猜楼主是直接写在main里面print出来的吧?
放在web application里面试试看?
@_@
回复
xitianjile 2005-03-14
output=""??
回复
发帖
Java EE
创建于2007-09-28

6.6w+

社区成员

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
申请成为版主
帖子事件
创建了帖子
2005-03-14 01:39
社区公告
暂无公告