1.delete()方法:
當調用delete()方法時,直接刪除文件,不管該文件是否存在,一經調用立即執行;
2.deleteOnExit()方法:
當調用deleteOnExit()方法時,只是相當於對deleteOnExit()作一個聲明,當程序運行結束,JVM終止時才真正調用deleteOnExit()方法實現刪除操作。即該方法是將刪除的命令緩存了一下,到服務停止的時候再進行操作!
示例:
@Test
public void test() throws IOException
{
File file=new File("E:"+File.separator+"filetest"+File.separatorChar+"HelloFile.txt");
if(file.exists()){
file.deleteOnExit();
file.createNewFile();
}
else{
logger.info("不存在該文件");
}
}
測試結果:在相應的位置HelloFile.txt 不存在(被刪除掉了);因為此處的deleteOnExit()是在JVM退出的時候才執行的,因此相當於是先調用了createNewFile()再調用deleteOnExit();
@Test
public void test() throws IOException
{
File file=new File("E:"+File.separator+"filetest"+File.separatorChar+"HelloFile.txt");
if(file.exists()){
file.delete();
file.createNewFile();
}
else{
logger.info("不存在該文件");
}
}
測試結果:在相應的位置HelloFile.txt 仍存在(被刪除掉后又建立一個新的該文件);因為此處先調用了delete()再調用createNewFile()