有关路径问题 在jsp中的 文件是否存在file.exists()的监测和打开这个文件的疑惑

lymkelly 2003-09-11 05:15:15
D:\Tomcat 4.1\webapps\kejichu\jsp\test.jsp的内容:



<%@ page language="java" contentType="text/html;charset=GBK" import="java.io.File"
%>

<% String pathB="..\\PROJECT\\开发\\2003\\申请书.doc";
String pathA="D:\\Tomcat 4.1\\webapps\\kejichu\\PROJECT\\开发\\2003\\申请书.doc";
File file=new File(pathA);
out.println(pathA);
out.println("Hello World!"+file.exists());
%> <A HREF="<%=pathB%>">申请书</A>


我发现file.exists()在jsp里需要绝对路径
打开文件需要相对路径<A HREF="<%=path%>">申请书</A>
(痛苦了一上午才有上面的很奇怪的结论,
5555555555555555)

请大虾帮忙看一下说得对不对,给我解释一下吧
非常感谢



...全文
119 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lymkelly 2003-09-12
  • 打赏
  • 举报
回复
不行


file.exists()
总是需要绝对路径

在这里面没有什么道理吗?

请大家讲一讲吧
lymkelly 2003-09-12
  • 打赏
  • 举报
回复
我去实施
lymkelly 2003-09-12
  • 打赏
  • 举报
回复
没有人啊
wks9527 2003-09-11
  • 打赏
  • 举报
回复
String pathB=System.getProperty("user.dir")+"..\\PROJECT\\开发\\2003\\申请书.doc";
pathB = pathB.replace("\\","/");
再试试!
yaray 2003-09-11
  • 打赏
  • 举报
回复
补足:
JDK1.4才有String.replaceAll(String regex, String replacement)方法
yaray 2003-09-11
  • 打赏
  • 举报
回复
String rootPath = request.getRealPath("\\");
可获得应用所在的根路径,即这里的:"D:\Tomcat 4.1\webapps\kejichu\" (不含双引号)

rootPath.replaceAll("\\","\\\\"); // 将单反斜杠 替换成双反斜杠
String oppositePath = "PROJECT\\开发\\2003\\申请书.doc";
String absolutePath = rootPath + oppositePath;

然后用绝对路径(变量:absolutePath)进行判断文件是否存在;
用相对路径进行对链接赋值(变量:oppositePath).
whodsow 2003-09-11
  • 打赏
  • 举报
回复
如果要处理的文件在相对路径或path中找不到,那就只有用绝对路径了。
不过你参照一下javax.servlet.ServletRequest的API吧,你应该可以找到怎么用绝对路径,初学的时候,自己多研究一下是好的。

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧