2010-10-03 44 views
3

试图使用Java重命名文件夹树的根。Java renameTo在包含内容的文件夹上

使用File.renameTo()在Windows中工作只是文件夹根本没有内容。我似乎无法找到这是否是预期的行为。它似乎没有在文档中提及。

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

它看起来像Java 7的Path.moveTo(),但我还不能使用7。

我坚持这样做的肮脏的方式,还是有办法得到只是根文件夹名称更改?

谢谢。

回答

7

你可以肯定地重命名窗口中的内容的文件夹。
但是,如果文件夹中的某个文件已打开输出,则可能存在文件锁定,从而无法重命名父文件夹。

从sysinternals中找到您的文件锁与优秀Process Explorer
它就像类固醇的任务经理。

+0

我之前测试过打开过的文件,发现没有,但是我一定错过了一些我通常会做的事情,因为这次我找到了一个,而且我错过了在我的代码中的一个地方关闭缓冲区。 感谢让我重新检查明显! – 2010-10-03 18:53:46

+0

+1进程管理器。应该是所有窗口框的标准 – 2010-10-03 19:34:33