gpt4 book ai didi

Java复制目录慢

转载 作者:太空宇宙 更新时间:2023-11-04 11:06:26 26 4
gpt4 key购买 nike

我在 C 盘(SSD)上有几个大小>2.5GB 的文件夹。通过 Java,我将这些文件夹移动到另一个共享驱动器,这也发生在 SSD 上,使用 FileUtils.copyDirectoryToDirectory(sourceDir, destiDir);

与需要 5 分钟的 Windows 默认移动选项相比,它工作正常,但速度很慢(大约需要 30 分钟)。我用谷歌搜索了一下是否有更好的方法来提高通过我的 java 程序移动目录的性能,但没有运气。有人可以建议我移动这些目录的最佳方法吗?

最佳答案

好吧,这就是我所做的

使用 java 中的 robocopy 命令在两个位置之间复制目录。使用 ~9GB 文件进行测试,能够在 ~9 分钟内复制。下面是代码片段

 String sourceFolder = new File("C:\\test\\robocopytest\\source\\20170925T213857460").toString();
String destFolder = new File("C:\\test\\robocopytest\\destination\\20170925T213857460").toString();
StringBuffer rbCmd = new StringBuffer();
if ((sourceFolder != null) && (destFolder != null))
{
if (sourceFolder.contains(" ")) {
if (sourceFolder.startsWith("\\")) {
sourceFolder = "/\"" + sourceFolder.substring(1) + "/\"";
} else {
sourceFolder = "\"" + sourceFolder + "\"";
}
}
if (destFolder.contains(" ")) {
if (destFolder.startsWith("\\")) {
destFolder = "/\"" + destFolder.substring(1) + "/\"";
} else {
destFolder = "\"" + destFolder + "\"";
}
}
rbCmd.append("robocopy " + sourceFolder + " " + destFolder);
Process p = Runtime.getRuntime().exec(rbCmd.toString());
}

关于Java复制目录慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46435748/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com