首先注意两点:
此文件被使用的时候无法删除(比如网络输出没关闭流)
判断此文件是否存在再做删除(exists)
删除文件夹之前先删除文件夹下的所有文件(递归解决)
判断是否删除成功会有返回值,文件名错了的话,删除文件不会报错。(new File”x://123.txt”),但是123.txt不存在,不报错)
// 输出文件流 ou = resp.getOutputStream); in = report.getInputStream); int bytes = 0; byte[] bufferOut = new byte[1024]; while bytes = in.readbufferOut)) != -1) { ou.writebufferOut, 0, bytes); } in.close); ou.flush); ou.close);//关掉输出流,否则文件无法删除 /** * 删除报表包含的临时文件 */ public void delete) { if files != null) { Iterator<File> iter = files.iterator); while iter.hasNext)) { File temp = iter.next); iftemp.exists)){ temp.delete); logger.debug"文件:" + temp.getAbsolutePath) + " 删除成功!"); }else{ logger.debug"文件:" + temp.getAbsolutePath) + "不存在!"); } } files = null; } if file != null) { iffile.exists)){ file.delete); logger.debug"文件:" + file.getAbsolutePath) + " 删除成功!"); file = null; }else{ logger.debug"文件:" + file.getAbsolutePath) + " 不存在!"); } file = null; } }