Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 创建目录并最终将其删除_Java_File - Fatal编程技术网

Java 创建目录并最终将其删除

Java 创建目录并最终将其删除,java,file,Java,File,我知道创建和删除目录的基本语法。我的处境很奇怪,所以任何帮助都会很有帮助 我创建的目录如下所示: if (!dir.exists()) { dir.mkdir(); } else System.out.println("hfuiwedsjcz"); 我创建了一个目录,目录中有多个文件。我写入这些文件,并对目录中的文件执行若干操作。 我想写一个程序来创建目录,比如在我读写了其中的文件之后,目录被删除了(这样可以避免手动删除文件夹) 我假设这是一个递归过程,首先创建文件夹,然后删除它

我知道创建和删除目录的基本语法。我的处境很奇怪,所以任何帮助都会很有帮助

我创建的目录如下所示:

if (!dir.exists()) {
   dir.mkdir();
}
else 
   System.out.println("hfuiwedsjcz");
我创建了一个目录,目录中有多个文件。我写入这些文件,并对目录中的文件执行若干操作。
我想写一个程序来创建目录,比如在我读写了其中的文件之后,目录被删除了(这样可以避免手动删除文件夹)

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


我该怎么做?

一个选项是使用
文件中的方法。在创建每个目录和文件时,对它们调用此命令

当JVM以与注册文件相反的顺序存在时,它将删除文件

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

// etc...

一个选项是使用
文件
类中的方法。在创建每个目录和文件时,对它们调用此命令

当JVM以与注册文件相反的顺序存在时,它将删除文件

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

// etc...

假设一次创建一个目录,在每次运行时,您只需清理目录(清空目录),怎么样? 这可能会帮助您:

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

最后,或者:


这与其他人的回答类似,但如果您使用的是jdk 1.6而不是1.7(不幸的是,很多人仍在使用1.6)

假设目录将被创建一次,并且在每次运行时,最后您只需清理目录(清空目录)就可以了? 这可能会帮助您:

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

最后,或者:


这与其他人的回答类似,但如果您使用的是jdk 1.6而不是1.7(不幸的是,很多人仍在使用1.6)

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

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

您可以使用Apachesc commons删除该目录。它将删除其中的所有文件夹/文件。您可以使用Apachesc commons删除该目录。它将删除其中的所有文件夹/文件。这可以在任意数量的目录上完成吗?我在一个循环中创建了十多个目录,并希望在读取文件和编辑其中的文件后将其删除。当我使用dir.deleteOnExit()运行代码时;文件在执行相关操作之前被删除,导致FileNotFoundException。请帮忙。谢谢。@MohammedIrfan在JVM退出之前,文件不会被删除。你的代码中一定有不同的错误。你能稍微精确一点你所说的“JVM出口”是什么意思吗。这是我想要的解决方案,它是删除文件,但不是全部。所以,如果你能解释一下“JVM退出”是什么意思,它会对我有很大帮助。再次感谢。嘿,邓肯·琼斯。。我找到了解决办法。再次非常感谢。这有帮助。干杯,deleteOnExit有一个好的选择。如果您在web环境中使用它,请避免使用它!这可以在任意数量的目录上完成吗?我在一个循环中创建了十多个目录,并希望在读取文件和编辑其中的文件后将其删除。当我使用dir.deleteOnExit()运行代码时;文件在执行相关操作之前被删除,导致FileNotFoundException。请帮忙。谢谢。@MohammedIrfan在JVM退出之前,文件不会被删除。你的代码中一定有不同的错误。你能稍微精确一点你所说的“JVM出口”是什么意思吗。这是我想要的解决方案,它是删除文件,但不是全部。所以,如果你能解释一下“JVM退出”是什么意思,它会对我有很大帮助。再次感谢。嘿,邓肯·琼斯。。我找到了解决办法。再次非常感谢。这有帮助。干杯,deleteOnExit有一个好的选择。如果您在web环境中使用它,请避免使用它!