Java.io.File中的delete()方法和deleteOnExit()方法的區別

1.delete()方法:緩存

            當調用delete()方法時,直接刪除文件,無論該文件是否存在,一經調用當即執行;測試

2.deleteOnExit()方法:spa

           當調用deleteOnExit()方法時,只是至關於對deleteOnExit()做一個聲明,當程序運行結束,JVM終止時才真正調用deleteOnExit()方法實現刪除操做。即該方法是將刪除的命令緩存了一下,到服務中止的時候再進行操做!it

示例:io

 @Test
 public void test() throws IOException
test

{
        File file=new File("E:"+File.separator+"filetest"+File.separatorChar+"HelloFile.txt");
        if(file.exists()){
              
  file.deleteOnExit();
                file.createNewFile();
       }
       else{
           logger.info("不存在該文件");
             }
file

}程序

測試結果:在相應的位置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()

相關文章
相關標籤/搜索