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

总结

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

相关文章

  • JAVA 多态操作----父类与子类转换问题实例分析

    JAVA 多态操作----父类与子类转换问题实例分析

    这篇文章主要介绍了JAVA 多态操作----父类与子类转换问题,结合实例形式分析了JAVA 多态操作中父类与子类转换问题相关原理、操作技巧与注意事项,需要的朋友可以参考下
    2020-05-05
  • java  线程详解及线程与进程的区别

    java 线程详解及线程与进程的区别

    这篇文章主要介绍了java 线程详解及线程与进程的区别的相关资料,网上关于java 线程的资料很多,对于进程的资料很是,这里就整理下,需要的朋友可以参考下
    2017-01-01
  • java实现后台处理base64图片还原为文件

    java实现后台处理base64图片还原为文件

    这篇文章主要介绍了java实现后台处理base64图片还原为文件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • java实现异步回调返回给前端的方法示例

    java实现异步回调返回给前端的方法示例

    在Java中实现异步回调并将结果返回给前端,通常是在Web应用开发中处理耗时操作时所采用的技术手段,以避免阻塞HTTP请求线程并提高用户体验,本文就来介绍一下如何实现,感兴趣的可以了解一下
    2024-03-03
  • mybatis QueryWrapper的条件构造之apply、last、select解析

    mybatis QueryWrapper的条件构造之apply、last、select解析

    这篇文章主要介绍了mybatis QueryWrapper的条件构造之apply、last、select,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Java实现将byte[]转换为File对象

    Java实现将byte[]转换为File对象

    这篇文章将通过一个简单的例子为大家演示Java如何实现 byte[] 转换为 File 对象,并将其上传到外部服务器,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-03-03
  • Java消息队列RabbitMQ之消息模式详解

    Java消息队列RabbitMQ之消息模式详解

    这篇文章主要介绍了Java消息队列RabbitMQ之消息模式详解,RabbitMQ提供了一种qos(服务质量保证)功能,即在非自动确认消息的前提下,如果一定数目的消息(通过基于Consumer或者Channel设置Qos的值)未被确认前,不进行消费新的消息,需要的朋友可以参考下
    2023-07-07
  • 基于Java代码实现判断春节、端午节、中秋节等法定节假日的方法

    基于Java代码实现判断春节、端午节、中秋节等法定节假日的方法

    这篇文章主要介绍了基于Java代码实现判断春节、端午节、中秋节等法定节假日的方法 的相关资料,需要的朋友可以参考下
    2016-01-01
  • java实现求两个字符串最长公共子串的方法

    java实现求两个字符串最长公共子串的方法

    这篇文章主要介绍了java实现求两个字符串最长公共子串的方法,是一道华为OJ上的一道题目,涉及Java针对字符串的遍历、转换及流程控制等技巧,需要的朋友可以参考下
    2015-12-12
  • Java中数据库加密的方式分享

    Java中数据库加密的方式分享

    在现今互联网时代,数据安全已经成为了我们必须要面对的重要课题,在本文中,我们将会介绍Java中常用的几种数据库加密方式并分析一下它们的优缺点,希望对大家有所帮助
    2023-05-05

最新评论