java文件删除不了File类的delete方法删不掉文件的原因以及分析

 更新时间:2024年06月15日 08:52:34   作者:梁程序员  
这篇文章主要介绍了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();
}

总结

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

相关文章

  • SpringCloud学习笔记之SpringCloud搭建父工程的过程图解

    SpringCloud学习笔记之SpringCloud搭建父工程的过程图解

    SpringCloud是分布式微服务架构的一站式解决方案,十多种微服务架构落地技术的集合体,俗称微服务全家桶,这篇文章主要介绍了SpringCloud学习笔记(一)搭建父工程,需要的朋友可以参考下
    2021-10-10
  • java  HashMap和HashTable的区别详解

    java HashMap和HashTable的区别详解

    这篇文章主要介绍了java HashMap和HashTable的区别详解的相关资料,需要的朋友可以参考下
    2016-12-12
  • java中使用POI生成Excel并导出过程

    java中使用POI生成Excel并导出过程

    这篇文章主要介绍了java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03
  • Java中ReUtil正则表达式工具库的使用

    Java中ReUtil正则表达式工具库的使用

    ReUtil是Hutool库中的正则表达式工具类,提供了多种常用正则表达式操作方法,下面就来介绍一下ReUtil的使用,具有一定的参考价值,感兴趣的可以了解一下
    2025-02-02
  • Java中的ZooKeeper使用

    Java中的ZooKeeper使用

    本文主要介绍了Java中的ZooKeeper使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • 浅谈java String.split丢失结尾空字符串的问题

    浅谈java String.split丢失结尾空字符串的问题

    下面小编就为大家带来一篇浅谈java String.split丢失结尾空字符串的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • Java源码解析之LinkedHashMap

    Java源码解析之LinkedHashMap

    LinkedHashMap是HashMap的子类,所以也具备HashMap的诸多特性.不同的是,LinkedHashMap还维护了一个双向链表,以保证通过Iterator遍历时顺序与插入顺序一致.除此之外,它还支持Access Order, ,需要的朋友可以参考下
    2021-05-05
  • Java对象级别与类级别的同步锁synchronized语法示例

    Java对象级别与类级别的同步锁synchronized语法示例

    这篇文章主要为大家介绍了Java对象级别与类级别的同步锁synchronized语法示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-03-03
  • SpringBoot集成echarts实现k线图功能

    SpringBoot集成echarts实现k线图功能

    ECharts是一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表,本文给大家介绍了SpringBoot集成echarts实现k线图功能,文中有详细的代码示例供大家参考,需要的朋友可以参考下
    2024-07-07
  • Java中判断字符串是中文或者英文的工具类分享

    Java中判断字符串是中文或者英文的工具类分享

    这篇文章主要介绍了Java中判断字符串是中文或者英文的工具类分享,本文直接给出代码,相关说明请看代码的注释,需要的朋友可以参考下
    2014-10-10

最新评论