Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.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 使用file.delete()删除远程文件更好,还是使用rm-rf调用ProcessBuilder更好?_Java_File_Delete File_Processbuilder_Rm - Fatal编程技术网

Java 使用file.delete()删除远程文件更好,还是使用rm-rf调用ProcessBuilder更好?

Java 使用file.delete()删除远程文件更好,还是使用rm-rf调用ProcessBuilder更好?,java,file,delete-file,processbuilder,rm,Java,File,Delete File,Processbuilder,Rm,如果file.delete()更好,效果如何?使用ProcessBuilder有哪些问题?此外,我还必须循环通过一个列表来删除不同的文件。在这种情况下,最好的方法是什么?使用java File.delete是更好的方法,因为: i) 如果使用File.delete()而不是在ProcessBuilderAPI上执行依赖于操作系统的命令,Java代码将可以跨不同的操作系统移植。 ii)java程序员可以轻松理解为删除不同文件列表而编写的功能 缺点: i) 由于java不允许删除非空目录,因此我们需

如果
file.delete()
更好,效果如何?使用ProcessBuilder有哪些问题?此外,我还必须循环通过一个列表来删除不同的文件。在这种情况下,最好的方法是什么?

使用java File.delete是更好的方法,因为:

i) 如果使用File.delete()而不是在ProcessBuilderAPI上执行依赖于操作系统的命令,Java代码将可以跨不同的操作系统移植。 ii)java程序员可以轻松理解为删除不同文件列表而编写的功能

缺点:


i) 由于java不允许删除非空目录,因此我们需要编写一个util方法来递归删除目录中的文件,如图所示,这与使用ProcessBuilder Api不同,后者使用单个命令rm-rf

删除目录,每个文件的新进程显然远远低于单个方法调用,但是你不明白-f的作用。