相对路径的问题,请各位帮忙 我webapps的目录结构是这样的,一个upload文件夹,里面放一些文件。有一个website文件夹,这是我的项目工程文件夹。我现在要在website这个项目的Action类中,new一个File对象,希望构造一个upload文件夹下的一个文件对象。这时候我new File( "" )的时候,参数该怎么写啊?这个怎么样取到upload里面的文件呢?工程架构为ssh。谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先取到你项目的路径public static String getAbsPathOfProject() { String url = FileUtil.class.getClassLoader().getResource("").toString(); // Win file:/E:/projects/Eclipse/workspace/SAS-Studio/WEB-INF/classes/ // Linux file:/home/share/SAS-TOMCAT/webapps/SAS/WEB-INF/classes/ String reg0 = "file:(.+?)WEB-INF"; // 在Tomcat下 Matcher mat0 = Pattern.compile(reg0, Pattern.CASE_INSENSITIVE).matcher( url); String reg1 = "file:(.+?bin/)"; // 应用程序下 Matcher mat1 = Pattern.compile(reg1, Pattern.CASE_INSENSITIVE).matcher( url); Matcher mat = mat0.find() ? mat0 : mat1; if (mat.find(0)) { String path = mat.group(1); path = path.replaceAll("/", "\\" + File.separator); return File.separator.equals("\\") ? path.substring(1) : path; } return null; }再加上upload\\文件名 楼上,upload不在我的工程里面,也行吗? 还有忘说了。。upload是一个虚拟目录,专门的文件上传服务器上映射过来的。。所以没法用物理地址呀。 servlet中获得项目绝对路径String filePath=this.getServletConfig().getServletContext().getRealPath("/");根目录所对应的绝对路径:request.getServletPath();文件的绝对路径 :request.getSession().getServletContext().getRealPath(request.getRequestURI())当前web应用的绝对路径 :servletConfig.getServletContext().getRealPath("/");建议参考http://tmsoft.lsxy.com/index.php?id=589&load=read struts2中的分页问题 jquery tab 初始化到第二个tab 今天面试问到了一个问题!你觉得JAVA的缺陷是什么?大伙一起谈谈 关于数据库模糊查询的问题!! 怎么动态设置数据源的用户名密码? 类似blog,即注册后便可以形成一个注册名的目录,是怎么实现的? JAVABEAN中,如何对如下字符串进行处理 如何设置[tomcat]无论访问那个目录都自动找当前目录下的index.jsp或index.htm等等。 请教高手个,Check复选框的用法,如和选中代码实现. 请教关于java打包和JNI问题 WEB工程的路径问题 jsp注销,清空这次与服务器的所有会话
String url = FileUtil.class.getClassLoader().getResource("").toString();
// Win file:/E:/projects/Eclipse/workspace/SAS-Studio/WEB-INF/classes/
// Linux file:/home/share/SAS-TOMCAT/webapps/SAS/WEB-INF/classes/
String reg0 = "file:(.+?)WEB-INF"; // 在Tomcat下
Matcher mat0 = Pattern.compile(reg0, Pattern.CASE_INSENSITIVE).matcher(
url);
String reg1 = "file:(.+?bin/)"; // 应用程序下
Matcher mat1 = Pattern.compile(reg1, Pattern.CASE_INSENSITIVE).matcher(
url);
Matcher mat = mat0.find() ? mat0 : mat1;
if (mat.find(0)) {
String path = mat.group(1);
path = path.replaceAll("/", "\\" + File.separator);
return File.separator.equals("\\") ? path.substring(1) : path;
}
return null;
}
再加上upload\\文件名
String filePath=this.getServletConfig().getServletContext().getRealPath("/");根目录所对应的绝对路径:request.getServletPath();文件的绝对路径 :request.getSession().getServletContext().getRealPath(request.getRequestURI())当前web应用的绝对路径 :servletConfig.getServletContext().getRealPath("/");建议参考http://tmsoft.lsxy.com/index.php?id=589&load=read