gpt4 book ai didi

Java:将包含文件和目录的目录移动到新路径

转载 作者:搜寻专家 更新时间:2023-10-30 21:42:28 25 4
gpt4 key购买 nike

我有一个包含一些文件的目录和一个包含更多文件的子目录。

Folder -  Directory (path -> /home/abc/xyz/Folder)
->Abc.txt (file)
-> Xyz.zip (file)
-> Address (Sub Directory)
-> PWZ.log (file)
-> CyZ.xml (file)
-> DataLog.7zip

等等

我想做的是将这个完整的目录从一个路径移动到另一个路径,包括所有文件和子文件夹(及其文件)。

即将此“文件夹”从/home/abc/xyz/Folder 移动到/home/abc/subdir/Folder。

Java 是否提供任何 API 来根据 FOLDER 目录执行此任务,或者我们是否需要将每个文件递归复制到此路径?

最佳答案

您可以简单地使用

移动目录
import static java.nio.file.StandardCopyOption.*;

Files.move(new File("C:\\projects\\test").toPath(), new File("C:\\projects\\dirTest").toPath(), StandardCopyOption.REPLACE_EXISTING);

更改源和目​​标路径

引用here获取更多详细信息

还有来自 API 的注释

 When invoked to move a
* directory that is not empty then the directory is moved if it does not
* require moving the entries in the directory. For example, renaming a
* directory on the same {@link FileStore} will usually not require moving
* the entries in the directory. When moving a directory requires that its
* entries be moved then this method fails (by throwing an {@code
* IOException}). To move a <i>file tree</i> may involve copying rather
* than moving directories and this can be done using the {@link
* #copy copy} method in conjunction with the {@link
* #walkFileTree Files.walkFileTree} utility method

如果您尝试移动同一分区中的文件,上面的代码就足够了(它可以移动目录,即使它有条目)。如果不是(而不是移动),您需要像提到的其他答案一样使用递归。

关于Java:将包含文件和目录的目录移动到新路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23346922/

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