您的位置:首页 > 编程语言 > Java开发

java 获取绝对路径与getRealPath

2016-12-02 12:15 531 查看
getRealPath()是个被标记为遗弃的一个获取当前路径的方法,被标记为遗弃的原因又是什么? 

getRealPath("/")在不同的服务器上所获得的实现是不一样的,对一个打包的应用来说,是没有RealPath的概念的,调用getRealPath只会简单地返回null。一个文件被打包入了.war文件,就不存在目录结构了(虽然包中仍然存在目录结构,但这不等同于文件系统中的目录结构)。所以,对war包中的资源是无法得到RealPath的。这样也就无从通过文件IO进行读取了,
因此被标为遗弃。

获取绝对路径的方法:

this.getClass().getClassLoader().getResource("/").getPath(); 此处为classes目录, 往上一层可以用getResource("/../"),

直接指向文件名getResource("/../xxx.xxx")

继承了 HttpServlet
类,也可用此方法:

getServletContext().getResource("/"), 要注意,getServletContext()可能会返回null
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐