3

Javaを使用してフォルダツリーのルートの名前を変更しようとしているだけです。

File.renameTo()の使用はWindowsでのみ機能し、フォルダーにはコンテンツがまったく含まれていません。これが予期された動作であるかどうかがわかりません。ドキュメントには記載されていないようです。

現在、再帰的なファイル\フォルダーコピープロセスを使用してから元のファイルを削除する必要がありますが、これは、各ノードに数百の子が存在する可能性があるフォルダーツリーで期待していたよりもかなり集中的です。

Java 7にはPath.moveTo()があるようですが、まだ7を使用できません。

私はそれを汚い方法でやり続けていますか、それともルートフォルダ名だけを変更する方法はありますか?

ありがとう。

4

1 に答える 1

7

あなたは間違いなくウィンドウズの内容でフォルダの名前を変更することができます。
ただし、フォルダー内のファイルの1つが出力用に開いている場合は、ファイルロックがあり、親フォルダーの名前を変更できない可能性があります。

sysinternalsの優れたProcessExplorerを使用してファイルロックを見つけます。
ステロイドのタスクマネージャーのようなものです。

于 2010-10-03T18:40:53.813 に答える