java中File的delete()方法刪除檔案失敗的原因
阿新 • • 發佈:2019-01-25
一般來說 java file.delete失敗 有以下幾個原因
1.看看是否被別的程序引用,手工刪除試試(刪除不了就是被別的程序佔用)
2.file是資料夾 並且不為空,有別的資料夾或檔案,
3.極有可能自己前面沒有關閉此檔案的流(我遇到的情況)
這個方法我用來獲取檔案的大小,用到了流類,但是用完了沒有關閉,導致無法刪除檔案:
public String getfilesize(String path,String filename) throws IOException {
String pathString=path+"\\"+filename;
f=new File(pathString);
FileInputStream fis=new FileInputStream(f);
String time=String.valueOf(((double)fis.available() / 1024));
fis.close();//當時這裡沒有關閉
return time.substring(0, time.indexOf(".")+2)+"K";
}
個人認為:首先用手動方式,即在電腦上找到要刪除的檔案看看能否刪除,如果刪除不掉,(個人遇到的也是,用到該檔案的輸入輸出流沒有關閉。)
仔細檢查一下你程式碼的輸入輸出流,看看能力是否用了但是沒有關閉。