`
遛遛遛
  • 浏览: 52416 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

Java访问WebRoot目录下文件

    博客分类:
  • J2EE
 
阅读更多

程序中要用到这个功能,在WebRoot目录下找到某个配置文件,然后向文件中写入信息。

 

网上查了些资料后,终于给做到了。

 

代码:

 

	ClassLoader classLoader = Thread.currentThread()
				.getContextClassLoader();
		if (classLoader == null) {
			classLoader = ClassLoader.getSystemClassLoader();
		}
		java.net.URL url = classLoader.getResource("");
		String ROOT_CLASS_PATH = url.getPath() + "/";
		File rootFile = new File(ROOT_CLASS_PATH);
		String WEB_INFO_DIRECTORY_PATH = rootFile.getParent() + "/";
		File webInfoDir = new File(WEB_INFO_DIRECTORY_PATH);
		String SERVLET_CONTEXT_PATH = webInfoDir.getParent() + "/";

                //这里 SERVLET_CONTEXT_PATH 就是WebRoot的路径

		String path = SERVLET_CONTEXT_PATH + "/" + 文件路径;
		path = path.replaceAll("%20", " ");
		File f = new File(path);
                //文件搞到手
 
分享到:
评论
1 楼 407381392 2015-04-16  
这是对的假如webroot写有一个config文件夹,下面有一个db.properties文件,如果读取该文件:String realPath=RabbitMQConfigHelper.class.getClassLoader().getResource("").getPath();
            System.out.println(realPath);
结果:/E:/apache-tomcat-7.0.47/webapps/PmsModule/WEB-INF/classes/
所以如果想获取db文件,必须在此路径下返回2级,到达根目录/PmsModul下,(因为config在根目录下)再去使用传统方式inputstream读取db文件。

相关推荐

Global site tag (gtag.js) - Google Analytics