java文件删除不了File类的delete方法删不掉文件的原因以及分析
作者:梁程序员
这篇文章主要介绍了java文件删除不了File类的delete方法删不掉文件的原因以及分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
java文件删除不了File类的delete方法删不掉文件
File directory = null; String path = tempPath + File.separator + fileName; directory = new File(path); if(!directory.exists()){ directory.mkdirs(); } Writer out = null; FileOutputStream fos = null; //这个地方对流的编码不可或缺,使用main()单独调用时,应该可以,但是如果是web请求导出时导出后word文档就会打不开,并且包XML文件错误。主要是编码格式不正确,无法解析。 //out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile))); for (int i = 0; i < dataMapList.size(); i++) { File outFile = new File(path+File.separator+fileName+System.currentTimeMillis() + ".doc"); if (!outFile.exists()) { outFile.createNewFile(); } fos = new FileOutputStream(outFile); OutputStreamWriter oWriter = new OutputStreamWriter(fos, "UTF-8"); out = new BufferedWriter(oWriter); t.process(dataMapList.get(i), out); } out.close(); fos.close();
流虽然在循环外关闭了,但是多个文件会导致只能删除最后一个文件,应该将close 放在循环内
java.io.File删除被占用的文件问题
while (file.exists()) { System.gc(); file.delete(); }
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。