首页 > 编程语言 > 详细

Java.io.File中的delete()方法和deleteOnExit()方法的区别

时间:2016-02-16 11:16:53      阅读:390      评论:0      收藏:0      [点我收藏+]

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

Java.io.File中的delete()方法和deleteOnExit()方法的区别

原文:http://www.cnblogs.com/jun9207/p/5191899.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!