File f = new File("E://work//listenerCountService//src//META-INF//weibo.xml"); // File f = new File(getClass().getResource("META-INF/weibo.xml").getPath()); //File f = new File(f.getPath().toString());后面的不对,不能用绝对路径,如果设置成tomcat下直接启动,应该怎么设置路径啊
文件放到了 src下面的MEAT-INF 下
如果你使用的是eclipse,请检查编译是否禁止了非.class文件的编译输出,如果这项没有问题。那么 src/META-INF/*.* 文件自动输出到 /WEB-INF/classes/META-INF/*.*。也就是说,最终资源文件在 WEB-INF/classes/META-INF/weibo.xml
使用JAVA 类获取路径:
获取InputStream:
InputStream input = getClass().getResourceAsStream("/META-INF/weibo.xml");另外,JAVA项目的标准协定(习惯)中的源代码目录结构是:
src输出的目录结构是:
target我现在就是读取java项目下的这个文件,不是web项目,这个配置文件只在这个java项目下使用。应该怎么读。如果我V吧配置文件直接放到web项目的src下,其他java项目如果要用的话,应该怎么读取??
追答也是一样的,如果是普通JAVA项目,在生成classes 的目录下
使用JAVA读取classes 目录下的资源文件都是一样的,Class#getResource(String)
classes 目录或者 打成jar包也一样,都属于 classes 范畴。
如果其他项目需要使用共用的配置,那部署到服务器时,使用一个公用的目录(例如:/www/config/weibo.xml),项目里写配置读取,配置绝对路径读取。