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

Java 刪除文件及文件夾刪除不了的解決

 更新時(shí)間:2021年09月15日 09:11:49   作者:如漩渦  
這篇文章主要介紹了Java 刪除文件及文件夾刪除不了的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Java 刪除文件及文件夾刪除不了

問(wèn)題所在

今天在編寫(xiě)一個(gè)項(xiàng)目,流程是先創(chuàng)建一個(gè)臨時(shí)文件夾存放生成的文件,再經(jīng)過(guò)壓縮導(dǎo)出,待導(dǎo)出成功后刪除臨時(shí)文件夾,但是怎么也刪除不了,還以為是寫(xiě)的刪除方法有問(wèn)題,找來(lái)找去,試了很多方法也刪除不了

代碼

本來(lái)以為是打包的流沒(méi)關(guān)閉,但是發(fā)現(xiàn)流都是關(guān)閉的,后來(lái)發(fā)現(xiàn),是在生成的方法里,直接new FileWriter出來(lái)的,沒(méi)有關(guān)閉,在這里提醒一下,關(guān)于操作文件或者文件夾一定都會(huì)用到流,所以用到的流一定要檢查一遍是否用完關(guān)閉了。

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

我們?cè)谟胘ava刪除文件的時(shí)候通常直接調(diào)用file.delete();方法就行了,但是很多情況下卻刪除不了,

下面列舉一些情況

  • 1.是文件夾且不為空,這個(gè)沒(méi)什么好說(shuō)的,可以先刪除文件夾里的文件再刪除這個(gè)文件夾;
  • 2.被別的進(jìn)程占用,這不僅java不能刪,就算windows手動(dòng)刪也刪不了;
  • 3.跟這個(gè)文件的流沒(méi)有關(guān)閉,這個(gè)是最常見(jiàn)的原因了

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

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

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

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

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

相關(guān)文章

  • 淺談mybatis中的#和$的區(qū)別

    淺談mybatis中的#和$的區(qū)別

    下面小編就為大家?guī)?lái)一篇淺談mybatis中的#和$的區(qū)別。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-06-06
  • Servlet服務(wù)端實(shí)現(xiàn)原理詳解

    Servlet服務(wù)端實(shí)現(xiàn)原理詳解

    Servlet是Sun公司開(kāi)發(fā)動(dòng)態(tài)web的一門(mén)技術(shù),Sun公司在這些API中提供了一個(gè)接口叫做:Servlet,如果想開(kāi)發(fā)一個(gè)Servlet程序,只需要完成兩個(gè)小步驟:編寫(xiě)一個(gè)類(lèi),實(shí)現(xiàn)Servlet接口、把開(kāi)發(fā)好的Java類(lèi)部署到web服務(wù)器中。但是你了解Servlet實(shí)現(xiàn)的原理嗎
    2022-07-07
  • Spring Boot 中實(shí)現(xiàn)跨域的多種方式小結(jié)

    Spring Boot 中實(shí)現(xiàn)跨域的多種方式小結(jié)

    Spring Boot提供了多種方式來(lái)實(shí)現(xiàn)跨域請(qǐng)求,開(kāi)發(fā)者可以根據(jù)具體需求選擇適合的方法,在配置時(shí),要確保不僅考慮安全性,還要兼顧應(yīng)用的靈活性和性能,本文給大家介紹Spring Boot 中實(shí)現(xiàn)跨域的多種方式,感興趣的朋友一起看看吧
    2024-01-01
  • SpringBoot熱部署配置過(guò)程

    SpringBoot熱部署配置過(guò)程

    這篇文章主要介紹了SpringBoot熱部署配置過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • Spring的@Scheduled 如何動(dòng)態(tài)更新cron表達(dá)式

    Spring的@Scheduled 如何動(dòng)態(tài)更新cron表達(dá)式

    這篇文章主要介紹了Spring的@Scheduled 如何動(dòng)態(tài)更新cron表達(dá)式的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java代碼中如何去掉煩人的“!=null”

    Java代碼中如何去掉煩人的“!=null”

    這篇文章主要介紹了Java代碼中去掉煩人的“!=null”,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Java源碼解析HashMap的resize函數(shù)

    Java源碼解析HashMap的resize函數(shù)

    今天小編就為大家分享一篇關(guān)于Java源碼解析HashMap的resize函數(shù),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • 解決RedisTemplate的key默認(rèn)序列化器的問(wèn)題

    解決RedisTemplate的key默認(rèn)序列化器的問(wèn)題

    這篇文章主要介紹了解決RedisTemplate的key默認(rèn)序列化器的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • Java中的private、protected、public和default的區(qū)別(詳解)

    Java中的private、protected、public和default的區(qū)別(詳解)

    下面小編就為大家?guī)?lái)一篇Java中的private、protected、public和default的區(qū)別(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-11-11
  • springboot使用自定義注解實(shí)現(xiàn)aop切面日志

    springboot使用自定義注解實(shí)現(xiàn)aop切面日志

    這篇文章主要為大家詳細(xì)介紹了springboot使用自定義注解實(shí)現(xiàn)aop切面日志,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-09-09

最新評(píng)論

车致| 广昌县| 亳州市| 河曲县| 大同县| 安阳县| 清镇市| 茌平县| 乌拉特中旗| 集安市| 舟山市| 奉新县| 陵川县| 河间市| 加查县| 乐平市| 大英县| 泸溪县| 尤溪县| 静乐县| 临桂县| 涿鹿县| 全南县| 开封县| 金阳县| 酉阳| 阜新市| 措美县| 虹口区| 沅陵县| 永川市| 遵义县| 革吉县| 南江县| 九寨沟县| 灵石县| 泾川县| 阳原县| 昭苏县| 云南省| 福清市|