JAVA/JSP删除文件语句问题~~!
下面是我的代码,用这个System.out.println(file.exists());检验文件存在的时候总是显示false.路径取出后用replace换路径了。奇怪啊...
下面是我的代码,用这个System.out.println(file.exists());检验文件存在的时候总是显示false.路径取出后用replace换路径了。奇怪啊。求助!
<%@ page contentType="text/html; charset=gb2312" language="java" errorPage="" %>
<%@page language="java" import="com.database.*,java.sql.*,java.io.*,com.viewbean.DocumentWeb"%>
<%
DocumentWeb doc = null;
Connection con = null; //连接数据库
DbpsPr dbps = null;
File file = null;
try
{
con = DBAccess.getConnection(); //连接数据库
dbps = new DbpsPr();
doc = new DocumentWeb();
String id1=request.getParameter("id");
String fileinfo[][] = doc.getinfo1(id1,4);
String path = fileinfo[0][0]; //通过ID获得存储路径
String path1 = path.replace("/", "\\");
//String path1 = "newsfile\201181616528.doc";
System.out.println(path1);
file = new File(path1);
System.out.println(file.exists());
file.delete();
String id = request.getParameter("id"); //获取附件的ID
String newsid = (String)session.getAttribute("id"); //获取新闻ID
String sql = "delete from NEWSFILE where id='"+id+"'";
con.setAutoCommit(false);
//dbps.executesql(con, sql); //执行SQL语句
con.commit();
response.sendRedirect("newsfile.jsp?id="+newsid);
}catch(Exception e)
{
e.printStackTrace();
}
finally{
con = null;
dbps = null;
}
%>
从数据库里读出来的是newsfile/201181616528.doc,然后被换成newsfile\201181616528.doc。但是看来得换成绝对路径,那怎么把newsfile\201181616528.doc变成E:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\jjc\newsfile\2011816161622.doc这样的呢? 展开
<%@ page contentType="text/html; charset=gb2312" language="java" errorPage="" %>
<%@page language="java" import="com.database.*,java.sql.*,java.io.*,com.viewbean.DocumentWeb"%>
<%
DocumentWeb doc = null;
Connection con = null; //连接数据库
DbpsPr dbps = null;
File file = null;
try
{
con = DBAccess.getConnection(); //连接数据库
dbps = new DbpsPr();
doc = new DocumentWeb();
String id1=request.getParameter("id");
String fileinfo[][] = doc.getinfo1(id1,4);
String path = fileinfo[0][0]; //通过ID获得存储路径
String path1 = path.replace("/", "\\");
//String path1 = "newsfile\201181616528.doc";
System.out.println(path1);
file = new File(path1);
System.out.println(file.exists());
file.delete();
String id = request.getParameter("id"); //获取附件的ID
String newsid = (String)session.getAttribute("id"); //获取新闻ID
String sql = "delete from NEWSFILE where id='"+id+"'";
con.setAutoCommit(false);
//dbps.executesql(con, sql); //执行SQL语句
con.commit();
response.sendRedirect("newsfile.jsp?id="+newsid);
}catch(Exception e)
{
e.printStackTrace();
}
finally{
con = null;
dbps = null;
}
%>
从数据库里读出来的是newsfile/201181616528.doc,然后被换成newsfile\201181616528.doc。但是看来得换成绝对路径,那怎么把newsfile\201181616528.doc变成E:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\jjc\newsfile\2011816161622.doc这样的呢? 展开
2个回答
展开全部
File的方法都得用绝对路径的,不妨把path 和path1的值都贴出来看看
追问
从数据库里读出来的是newsfile/201181616528.doc,然后被换成newsfile\201181616528.doc。但是看来得换成绝对路径,那怎么把newsfile\201181616528.doc变成E:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\jjc\newsfile\2011816161622.doc这样的呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询