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();
}总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
