一个web的应用,在Jsp页面中选取本地的文件,然后点击删除,删除成功的话返回页面,显示该文件的文件路径和文件名。
我的程序编译和运行,没有任何问题,但是就是无法实现删除功能,虽然io.file.delete()方法返回的是ture,但是文件依然存在……请大家帮我看下该怎么解决这个问题,谢谢
代码如下,总共3个类:package jbxstruts;
import commonlib.*;
import org.apache.struts.action.ActionForm;
import org.apache.struts.upload.FormFile;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;
import javax.servlet.http.HttpServletRequest;public class DeleteActionForm extends ActionForm
{
    private FormFile file;
    private String fname;
    private String size;
    private String deleteFileDir;
    public FormFile getFile() {
        return file;
    }    public void setFile(FormFile file) {
        this.file = file;
    }    public void setFname(String fname)
    {
        this.fname = fname;
    }    public String getFname()
    {
        return this.fname;
    }    public void setSize(String size)
    {
        this.size = size;
    }    public String getSize()
    {
        return this.size;
    }    public String getDeleteFileDir()
    {
        //this.deleteFileDir = deleteFileDir;
        return this.deleteFileDir;
    }    public void setDeleteFileDir(String deleteFileDir)
    {
        this.deleteFileDir = deleteFileDir;
       // return deleteFileDir;
    }    public ActionErrors validate(ActionMapping actionMapping,
                                 HttpServletRequest httpServletRequest) {
            /** @todo: finish this method, this is just the skeleton.*/
        return null;
    }    public void reset(ActionMapping actionMapping,
                      HttpServletRequest servletRequest) {
    }
}package jbxstruts;import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.Action;
import commonlib.FileDelete;public class DeleteAction extends Action {
    public ActionForward execute(ActionMapping mapping, ActionForm form,
                                 HttpServletRequest request,
                                 HttpServletResponse response) {
        DeleteActionForm _deleteActionForm = (DeleteActionForm) form;
        //(this.servlet.getServletContext().getRealPath("/upLoadFile"))
        _deleteActionForm.setDeleteFileDir(this.servlet.getServletContext().getRealPath(""));//上传的文件保存的目录
        //_deleteActionForm.setDeleteFileDir(request.getSession().getServletContext().getRealPath("/uploadFlie"));
        //_deleteActionForm.setDeleteFileDir(request.getContextPath());
        FileDelete _fileDelete = new FileDelete();       if(_fileDelete.dowork(_deleteActionForm)  == false)
        {
            return mapping.findForward("DeleteFailure");
        }
        return mapping.findForward("DeleteSuccess");       // throw new java.lang.UnsupportedOperationException(
       //         "Method $execute() not yet implemented.");
    }
}package commonlib;import jbxstruts.*;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.Action;
import java.io.*;
import javax.servlet.http.*;
import org.apache.struts.upload.FormFile;
import org.apache.struts.upload.DiskFile;
import java.io.File;public class FileDelete {
    public FileDelete() {
    }    public Boolean dowork(ActionForm form)
    {    DeleteActionForm _deleteActionForm = (DeleteActionForm) form;
    FormFile deleteFile = _deleteActionForm.getFile();
    //DiskFile deleteFile=new DiskFile("") ;
   if (deleteFile == null) {
        return false;
    }    String fileName = deleteFile.getFileName();
    String fileSize = Integer.toString(deleteFile.getFileSize()) + " bytes";    try {        File _file=new File(_deleteActionForm.getDeleteFileDir(), fileName);
        //File _file=new File("D:\\", fileName);
        InputStream streamIn = deleteFile.getInputStream();
        System.out.println("inputStream");
        //OutputStream streamOut = new FileOutputStream(_deleteActionForm.getDeleteFileDir()) ;
        System.out.println("outputStream");
        if(_file.exists())
        {
            System.gc();
            _file.delete();
        }        //streamOut.close();
        streamIn.close();
        _deleteActionForm.setFname(_deleteActionForm.getDeleteFileDir() + "\\"+fileName);
        _deleteActionForm.setSize(fileSize);
        deleteFile.destroy();
        return true;
    } catch (Exception e) {
        e.toString();
        return false;
    }
    }
}