1. 程式人生 > >file.delete()刪除不掉檔案

file.delete()刪除不掉檔案

查閱了網上的資料,很多人說是有檔案流沒有關閉,導致檔案被佔用,無法刪除,但是檢查並未發現存在未關閉檔案流。

後在網上看到一種解決方式

public static boolean forceDelete(File f)  
	{  
	    boolean result = false;  
	    int tryCount = 0;  
	    while(!result && tryCount++ <10)  
	    {  	    
	    System.gc();  
	    result = f.delete();  
	    }  
	    return result;  
	}  
執行10次垃圾回收後刪除,目前可以解決這個問題

繼續查閱資料,好像是因為對映佔用的問題,在如下網站有解決方式

https://stackoverflow.com/questions/2972986/how-to-unmap-a-file-from-memory-mapped-using-filechannel-in-java

public static void unMapBuffer(MappedByteBuffer buffer, Class channelClass) {
    if (buffer == null) {
        return;
    }

    try {
        Method unmap = channelClass.getDeclaredMethod("unmap", MappedByteBuffer.class);
        unmap.setAccessible(true);
        unmap.invoke(channelClass, buffer);
    } catch (NoSuchMethodException e) {
        e.printStackTrace();
    } catch (IllegalAccessException e) {
        e.printStackTrace();
    } catch (InvocationTargetException e) {
        e.printStackTrace();
    }
}


相關推薦

file.delete()刪除檔案

查閱了網上的資料,很多人說是有檔案流沒有關閉,導致檔案被佔用,無法刪除,但是檢查並未發現存在未關閉檔案流。 後在網上看到一種解決方式 public static boolean forceDelete(File f) { boolean result =

makefile中刪除*.o檔案的問題

記錄自己的一個小智障 如圖一個簡單的makefile main:main.o add.o sub.o mux.o div.o gcc main.o add.o sub.o mux.o div.o -o main main.o:main.c add.h sub.h mux.h div

微信小程式踩坑——專案內資料夾刪除

想要刪publishTask資料夾,在IDE裡刪沒反應,去檔案資源管理器刪提示需要管理員許可權, 太鬼扯了,原來因為要刪的資料夾裡有巢狀一層資料夾,所以禁止刪除。要先刪掉裡層資料夾,才可以刪除外層。換句話說,想要刪除的資料夾要保證不包

怎麼才能刪電腦桌面上的一個老是刪檔案圖示?

新建文字文件,裡面輸入:DEL /F /A /Q \\?\%1RD /S /Q \\?\%1 後另存為 任意名字.bat 然後把這個刪除不掉的檔案拖到這個bat檔案圖示上就可以了。 如果桌面被那個檔案卡住 可以win+e進入資源管理器找到你的使用者名稱下 一個桌面資料夾裡

openstack的vm虛擬機器刪除

使用nova命令刪除不掉 參考:http://dnscai.com/blog/2013/04/03/openstack-error-sample1/ vm其實已經刪掉,通過virsh list命令可以看出。但是nova命令顯示還有:nova show xx  ; 很明顯

印表機刪除的解決方法

在印表機故障的時候,有一種狀態是總有一個文件留在印表機裡刪除不掉,使印表機程式也刪除不掉,印表機也不能正常使用。 解決方法:1, 點選 "開始" 選單裡面的 "執行", 在 "開啟" 的命令列裡面輸入: net stop spooler. 2. 點選 "確定" 後, 會出現一

File delete刪除問題

注意事項有以下幾點 1.檢查是否是檔案流沒有關閉。如果沒有關閉的話檔案當前是被佔用狀態,是刪除不了的。 2.是否關閉完全。比如你迴圈建立好多檔案流,只在finally 模組寫了個關閉流的方法,這樣寫很可能只關閉最後一個檔案流。導致除了最後一個檔案能刪除,其餘都不能刪除。 4

檔案刪除了,檔案粉碎也不行,去只讀屬性,F8安全模式下也刪,引數正確

RT,本人各種情況都遇到過,試過網上的很多方法,自己也總結一下。 檔案刪除不了,檔案粉碎也不行,去不掉只讀屬性,DOS下也刪不掉,F8安全模式下也刪不掉 反正啥子招兒都試了,就是刪不掉,老頑固,格式化都不行,也沒有程式佔用這個資料夾,就是刪不掉。 分析: 1.通常刪不

刪除GHOST中win7桌面IE刪的解決辦法

運行 nbsp read win7 刪掉 machine microsoft 找到 explore 打開Win+R 運行regedit 依次打開: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Ex

GandCrab V5.0.5勒索病毒刪除+恢復檔案,免費的解密器可用

GandCrab V5.0.5是一種檔案鎖定病毒,自2018年初以來,它一直感染PC或不僅是普通使用者,而且還感染全世界的組織。到目前為止,估計該惡意軟體影響了全球約50萬受害者。因為它將勒索軟體作為一種服務方案執行,許多網路犯罪分子正在使用GandCrab進行敲詐勒索,這解釋了威脅的巨大普遍性,這種惡意軟體

django views.py open("./xx") no such file found解決django views 檔案中open函式找檔案的問題

現象: 在views.py 中 用open 函式,open("./xxx")這種形式,採用相對路徑,開啟一個檔案,提示找不到檔案。 但是直接執行該py檔案就沒有問題 解決辦法: 用絕對路徑 pwd=os.path.dirname(__file__) open(pwd+"/xx

hibernateTemplate.delete(t);刪除了語句,沒有生成sql語句

在spring那個檔案裡生命事務即可 <!-- 生命事務 --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"&g

Python:批量刪除需要的標籤類以及空檔案

#!/usr/bin/env python2 # -*- coding: utf-8 -*- import os import xml.etree.ElementTree as ET origin_ann_dir = 'Annos/'# 設定原始標籤路徑為 Annos ne

刪除cookie刪的問題

文章轉自: https://blog.csdn.net/swimming_in_it_/article/details/80290547 https://blog.csdn.net/huanshiwushuang/article/details/70172536 http://php.j

PyCharm檔案刪除後提示檔案到:遞迴刪除目錄下pyc檔案

PyCharm程式碼刪除後,會提示檔案找不到,這是由於.pyc 位元組碼檔案沒有刪除,執行的是之前的程式碼編譯好的*.pyc 位元組碼檔案 解決辦法: 刪除*.pyc 檔案 刪除當前目錄下.pyc檔案 $ rm -rf "*.pyc" 遞迴刪除目錄下.pyc檔案

關於File類如何刪除為空的資料夾(未解決有待完善)

import java.io.File; public class deleDemo {   public static void main(String[] args) {     demo(new File(""));   }   public static void demo(Fil

iOS 把資料庫檔案打包到mainbundle中,查詢到路徑的解決辦法;以及在刪除bundle中檔案的可行性

在開發中有時我們需要把資料庫檔案打包到我們的專案中,一般我們都是在外部用工具生成資料庫檔案,然後拉入專案中,但是我們在程式中查詢改檔案時,返回的路徑總是nil 解決辦法: 原因我們拉入其他資原始檔(比如:圖片、程式碼檔案等)Xcode都會自動新增到target 的 "Bui

git刪除遠端分支檔案改變本地檔案

git提交專案時候踩的Git的坑 經歷 由於剛開始沒有設定.gitignore檔案,導致專案中所有的檔案都被提交到了github上面,由此帶來的問題就是有些debug日誌也被提交了上去,對於團隊開發很不友好。 一個錯誤的嘗試 git rm -r --cached "fileName/direction

刪除電腦頑固檔案--“該專案存在”問題。

近來用迅雷下了個資料,不知道怎麼操作的,導致資料夾刪不掉,提示“該專案不存在”,試了很多軟體和方法,下面這個方法有用。 新建文件,複製下面內容,並儲存為“.bat”格式。[使用方法:執行“XXX.bat”,看提示操作。] REM  QBFC Project Options Begin REM  HasVer

word 最後一頁刪刪除後其它頁面頁碼不對的問題

1,最後一頁的頁碼為1或其它與前端頁面頁碼不對的問題首先滑鼠放在最後一頁上,依次選擇選單中的 插入-》頁碼-》設定頁碼格式其次在頁碼格式設定彈框中選擇 頁碼編號-》選中續前頁,然後點選確定,最後一頁頁碼會和前面頁碼連續編碼2,最後一頁刪除不掉的問題首先保證最後一頁的頁碼與前頁