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


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()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM