创建目录并最后删除它

时间:2013-07-16 14:20:21

标签: java file

我知道创建和删除目录的基本语法。我处于一种奇怪的境地,所以任何帮助都会非常有用。

我创建如下所示的目录:

if (!dir.exists()) {
   dir.mkdir();
}
else 
   System.out.println("hfuiwedsjcz");

我创建了一个目录,在目录中我有多个文件。我写这些文件并对目录中的文件执行几个操作 我想写一个程序来创建目录,比如我写完后删除目录并读取里面的文件(以免手动删除文件夹)。

我假设它是一个递归过程,我首先创建文件夹,然后删除它。现在,当我下次运行时,我不应该有任何文件夹,而应该再次创建并最终删除。

我该怎么做?

3 个答案:

答案 0 :(得分:6)

一种选择是使用File类中的deleteOnExit()方法。在创建它们时在每个目录和文件上调用它。

当JVM存在时,它将按照您注册文件的相反顺序删除文件。

if (!dir.exists()) {
   dir.mkdir();
   dir.deleteOnExit();
}

// etc...

答案 1 :(得分:1)

如果只是假设目录将被创建并且每次运行,最后你只需要清理目录(清空目录)? 这可能会对您有所帮助:

FileUtils.cleanDirectory

或者如您所愿,您可以选择:

FileUtils.forceMkdir()

最后:

FileUtils.deleteDirectory()

FileUtils.forceDeleteOnExit()

这与其他人的反应相似,但如果您使用的是jdk 1.6而不是1.7,那么这将是更容易的方法(不幸的是,很多人仍在使用1.6)

答案 2 :(得分:0)

在每个创建的File对象上使用java.io.File.deleteOnExit()。您需要从第一个目录开始,为每个使用过的File对象创建并调用它。