1.delete()方法:
当调用delete()方法时,直接删除文件,不管该文件是否存在,一经调用立即执行;
2.deleteOnExit()方法:
当调用deleteOnExit()方法时,只是相当于对deleteOnExit()作一个声明,当程序运行结束,JVM终止时才真正调用deleteOnExit()方法实现删除操作。即该方法是将删除的命令缓存了一下,到服务停止的时候再进行操作!

示例

  1. *@Test
  2. public void test() throws IOException
  3. {
  4. File file=new File("E:"+File.separator+"filetest"+File.separatorChar+"HelloFile.txt");
  5. if(file.exists()){
  6. file.deleteOnExit();
  7. file.createNewFile();
  8. }
  9. else{
  10. logger.info("不存在该文件");
  11. }
  12. }*

测试结果:在相应的位置HelloFile.txt 不存在(被删除掉了);因为此处的deleteOnExit()是在JVM退出的时候才执行的,因此相当于是先调用了createNewFile()再调用deleteOnExit();

  1. *
  2. @Test
  3. public void test() throws IOException
  4. {
  5. File file=new File("E:"+File.separator+"filetest"+File.separatorChar+"HelloFile.txt");
  6. if(file.exists()){
  7. file.delete();
  8. file.createNewFile();
  9. }
  10. else{
  11. logger.info("不存在该文件");
  12. }
  13. }*

测试结果:在相应的位置HelloFile.txt 仍存在(被删除掉后又建立一个新的该文件);因为此处先调用了delete()再调用createNewFile()