站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题20分求教Servlet中文件操作的问题

20分求教Servlet中文件操作的问题

摘要: 20分求教Servlet中文件操作的问题


代码如下:
//delete.java
public class delete extends HttpServlet
{
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=gb2312");
String path = request.getParameter("filename");
try
{
File file = new File("f://class//"+path); //删除指定文件
file.delete();
System.out.println("success");
}
catch(Exception e)
{
e.printStackTrace();
}
response.sendRedirect("/servlets-examples/Servlet2");//跳转回Servlet2
}
}

//Servlet2.java代码段
...
int i ;
for (i = 0; i < fs.length; i++) {
FileReader fr = new FileReader(fs[i]);
String filename = fs[i].getName(); //得到文件名

out.println("<td width=15% height=24>
"+ filename +"
</td>");
out.println("<td width=30% height=24>
删除
</td>");
}
...

如果把跳转回Servlet2那句注释掉是可以删除的,但需求是要跳转回来的
但加了跳转后发现运行时只有Tomcat新启动才能删除指定文件
(之后点delete可以输出success,但不能删除文件,很奇怪)
不知道何处不对,求教


刚又试了遍 发现注释掉response.sendRedirect("/servlets-examples/Servlet2");
后也只能在Tomcat新启动才能删除指定文件


老大
File file = new File("f://class//"+path); //删除指定文件
可以删除其它盘文件,是不是很可怕?


为什么说可怕?


File file = new File("f://class//"+path); //删除指定文件
路径错误:应为
File file = new File("f://class/"+path);
如果不对的话是你的指定文件不存在。


改成f://class/后无法编译,'/'被编译器认为特殊字符了


up


这样删除不太安全
可以使用文件转移试试


↑返回目录
前一篇: 新手在线急求:下拉列表绑定数据库表字段值!
后一篇: 哪位大哥能和我说下checkbox的返回值