对包含内容的文件夹进行Java重命名

对包含内容的文件夹进行Java重命名,java,file,directory,move,Java,File,Directory,Move,只是尝试使用Java重命名文件夹树的根 使用File.renameTo()仅在Windows中有效,因为该文件夹根本没有内容。我似乎不知道这是否是预期的行为。文件中似乎没有提到这一点 我现在不得不使用递归文件\文件夹复制过程,然后删除原始文件,但这比我在每个节点可能有数百个子节点的文件夹树中希望的要密集得多 看起来Java7有Path.moveTo(),但我现在还不能使用7 我是不是一直在用肮脏的方式做这件事,还是有办法只改变根文件夹的名称 谢谢。您完全可以在windows中重命名包含内容的文件

只是尝试使用Java重命名文件夹树的根

使用File.renameTo()仅在Windows中有效,因为该文件夹根本没有内容。我似乎不知道这是否是预期的行为。文件中似乎没有提到这一点

我现在不得不使用递归文件\文件夹复制过程,然后删除原始文件,但这比我在每个节点可能有数百个子节点的文件夹树中希望的要密集得多

看起来Java7有Path.moveTo(),但我现在还不能使用7

我是不是一直在用肮脏的方式做这件事,还是有办法只改变根文件夹的名称


谢谢。

您完全可以在windows中重命名包含内容的文件夹。
但是,如果文件夹中的某个文件已打开以供输出,则可能存在文件锁定,阻止您重命名父文件夹

从sysinternals中找到您的优秀文件锁。

这就像类固醇上的任务管理器。

我以前测试过打开的文件,但没有发现任何文件,但我肯定错过了自找到文件以来通常会做的事情,并且错过了关闭代码中某个位置的缓冲区。谢谢你让我重新检查这个明显的问题+1用于process explorer。应为所有windows机箱的标准配置