java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > java文件删除不了File类的delete方法删不掉文件

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();
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文