2010-10-03 21 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