您的位置:首页 > 运维架构 > Linux

request.getRealPath("/")在Linux下获取路径的问题

2014-11-27 10:25 459 查看
问题描述:

程序中用了一段代码动态在应用根目录下,动态创建一个文件夹,用于存储临时文件,代码如下:

InputStream in=null;
File file = new File(request.getRealPath("/")+ File.separator+"report" + File.separator+"files" + File.separator + filename);
in=new FileInputStream(file);
int i;
while ((i=in.read())!=-1) {
response.getOutputStream().write(i);
}
in.close();


在Windows服务器运行正常,但在Lunix服务器下,却无法生成文件夹。

原因分析:

request.getRealPath("/") 在window获取的是服务器的根目录,结尾包含分隔符,

如E:\apache-tomcat-7.0.52\webapps\zj\

在Linux下获取的不含分隔符,如:

/home/ecm/server1/apache-tomcat-7.0.52/webapps

建议:

request.getRealPath() 方法已经不推荐使用,推荐使用 request.getSession().getServletContext().getRealPath("/");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐