最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java刪除文件時總是返回false,刪不掉的解決方案

 更新時間:2021年09月09日 16:38:40   作者:fangguozi  
這篇文章主要介紹了java刪除文件時總是返回false,刪不掉的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

java刪除文件時總是返回false,刪不掉

今天寫了個簡單的文件刪除的程序:代碼如下:

public static boolean deleteFiles(File[] files){
  boolean flag = false;
  for(File file:files){
   // 路徑為文件且不為空則進行刪除  
      if (file.isFile() && file.exists()) { 
       flag = file.delete();
        System.out.println(flag);
      }
  }
  return flag;
 }

我的文件都是存在的,但是就是經(jīng)常性的刪不了,不知道怎么回事,我單獨測試的時候是可以的,感覺很是奇怪,上網(wǎng)查,人家說是可能的情況有:

  • 1、多線程操作
  • 2、打開的文件流沒有關(guān)閉
  • 3、需要垃圾回收下

我的解決

分析下我的情況,我的是單線程的,所以第一種情況不存在,第二種情況我關(guān)閉我所有打開的文件流但是還是不行,后來我在程序中加了行System.gc();,結(jié)果就真的可以了,一下是修改后的:

public static boolean deleteFiles(File[] files){
  boolean flag = false;
  for(File file:files){
   // 路徑為文件且不為空則進行刪除  
      if (file.isFile() && file.exists()) {  
       System.gc(); //加上確保文件能刪除,不然可能刪不掉
       flag = file.delete();
       System.out.println(flag);
      }
  }
  return flag;
 }

java文件刪除不了的坑,特別是壓縮文件

我們在用java刪除文件的時候通常直接調(diào)用file.delete();方法就行了,但是很多情況下卻刪除不了

下面列舉一些情況

  • 1、是文件夾且不為空,這個沒什么好說的,可以先刪除文件夾里的文件再刪除這個文件夾
  • 2、被別的進程占用,這不僅java不能刪,就算windows手動刪也刪不了
  • 3、跟這個文件的流沒有關(guān)閉,這個是最常見的原因了

然而我遇到的是上傳一個文件,然后跟這個文件有關(guān)的流也關(guān)閉了,還是刪除不了,后來發(fā)現(xiàn)有人把這個文件偷偷的轉(zhuǎn)換成zip壓縮文件了。

然后刪除這個bookFile死活刪除不了,如果出現(xiàn)這種情況,這個zipFile最后一定要close;

java.util.zip.ZipFile.close()方法關(guān)閉ZIP文件

關(guān)閉此ZIP文件將關(guān)閉以前由調(diào)用getInputStream()方法返回的所有輸入流。這個方法連流都給我們關(guān)閉了!就不用我們手動關(guān)閉zip文件的流了,最后在調(diào)用file.delete()方法就可以刪除文件了

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • spring-shiro權(quán)限控制realm實戰(zhàn)教程

    spring-shiro權(quán)限控制realm實戰(zhàn)教程

    這篇文章主要介紹了spring-shiro權(quán)限控制realm實戰(zhàn)教程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java處理日期時間的方法匯總

    Java處理日期時間的方法匯總

    這篇文章主要給大家介紹了利用Java中的Calendar 類處理日期時間的方法匯總,其中包括取日期的每部分、取當月的第一天或最后一天、求兩個日期之間相隔的天數(shù)以及一年前的日期等等的示例代碼,有需要的朋友們可以直接參考借鑒,下面來一起看看吧。
    2016-12-12
  • SpringSecurity獲取當前登錄用戶的信息的幾種方法實現(xiàn)

    SpringSecurity獲取當前登錄用戶的信息的幾種方法實現(xiàn)

    本文主要介紹了SpringSecurity中獲取當前登錄用戶信息的多種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-03-03
  • Java從入門到精通之旅類和對象全面解析

    Java從入門到精通之旅類和對象全面解析

    Java是一門純面向?qū)ο蟮恼Z言(OOP),在面向?qū)ο蟮氖澜缋?一切皆為對象,面向?qū)ο笫墙鉀Q問題的一種思想,主要依靠對象之間的交互完成一件事情,這篇文章主要介紹了Java從入門到精通之旅類和對象全面解析,需要的朋友可以參考下
    2025-04-04
  • servlet3文件上傳操作

    servlet3文件上傳操作

    這篇文章主要介紹了servlet3文件上傳操作的相關(guān)資料,需要的朋友可以參考下
    2017-11-11
  • SpringBoot內(nèi)部調(diào)用事務(wù)不起作用問題的解決方案

    SpringBoot內(nèi)部調(diào)用事務(wù)不起作用問題的解決方案

    這篇文章主要介紹了SpringBoot事務(wù)不起作用問題的解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • Java實現(xiàn)十進制與二進制互轉(zhuǎn)的示例詳解

    Java實現(xiàn)十進制與二進制互轉(zhuǎn)的示例詳解

    這篇文章主要為大家詳細介紹了Java如何實現(xiàn)十進制與二進制的互轉(zhuǎn),文中的示例代碼講解詳細,對我們學習Java有一定幫助,需要的可以參考一下
    2022-11-11
  • EL表達式的隱式對象_動力節(jié)點Java學院整理

    EL表達式的隱式對象_動力節(jié)點Java學院整理

    這篇文章主要介紹了EL表達式的隱式對象,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • Spring JdbcTemplate整合使用方法及原理詳解

    Spring JdbcTemplate整合使用方法及原理詳解

    這篇文章主要介紹了Spring JdbcTemplate整合使用方法及原理詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • springcloud gateway聚合swagger2的方法示例

    springcloud gateway聚合swagger2的方法示例

    這篇文章主要介紹了springcloud gateway聚合swagger2的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04

最新評論

清涧县| 江山市| 瓦房店市| 崇文区| 双桥区| 突泉县| 西平县| 琼结县| 卢氏县| 奈曼旗| 共和县| 五家渠市| 寿宁县| 图木舒克市| 天柱县| 德江县| 隆昌县| 德化县| 呼图壁县| 津市市| 南漳县| 土默特左旗| 桃江县| 晋城| 盐山县| 台中县| 菏泽市| 宜丰县| 揭阳市| 芦溪县| 扶沟县| 琼结县| 泾川县| 台前县| 泾川县| 扎囊县| 上林县| 石城县| 德惠市| 界首市| 和平区|