使用Java或DOS move命令移动文件夹

使用Java或DOS move命令移动文件夹,java,performance,file,directory,dos,Java,Performance,File,Directory,Dos,哪一种性能更有效 使用Java: org.apache.commons.io.FileUtils.moveDirectory(srcDir, destDir); 或DOS move命令: mkdir destDirPath move srcDirPath/* destDirPath 注意-此代码将始终在Windows上运行。文件夹大小巨大(约500gb),正在移动到远程系统 通过测试,我发现DOS命令的速度要快得多,但我想确认一下,这种评估是否总是正确的,为什么?任何其他注意事项/参数可

哪一种性能更有效

使用Java:

org.apache.commons.io.FileUtils.moveDirectory(srcDir, destDir);
或DOS move命令:

mkdir destDirPath
move srcDirPath/* destDirPath
  • 注意-此代码将始终在Windows上运行。文件夹大小巨大(约500gb),正在移动到远程系统

通过测试,我发现DOS命令的速度要快得多,但我想确认一下,这种评估是否总是正确的,为什么?任何其他注意事项/参数可能会影响它吗?

能否告诉我们有关测试设置的更多信息?(例如,您是如何测量时间的?您是如何调用java应用程序的)我正在使用java程序运行这两种方法/代码,使用“结束时间-开始时间”这一常用方式测量所花费的时间。如前所述,文件夹的大小很大,正在移动到远程系统,所以两种方法所用的时间都是以小时为单位的。您的
开始时间是什么时候?在调用jar应用程序时,或者在复制代码行之前?开始时间就在移动代码之前开始。实际上,正如前面提到的,所花费的时间是以小时为单位的,所以这里或那里的几秒钟(甚至几分钟)并不是很复杂。