一般來說 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";
}
個人認為:首先用手動方式,即在電腦上找到要刪除的文件看看能否刪除,如果刪除不掉,(個人遇到的也是,用到該文件的輸入輸出流沒有關閉。)
仔細檢查一下你代碼的輸入輸出流,看看能力是否用了但是沒有關閉。