- - PR -
java.io.File.delete() で中身があるDirectory削除
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-07-06 23:15
java.io.File について、
File.delete() でdirectoryの削除をしたいのですが、 指定directory以下にファイルが存在する場合、directory削除できません。 指定directory以下に不定個のファイル(または更にdirectory階層)がある場合、 一度にdirectory毎削除することは不可能でしょうか? 基本的なことで申し訳有りませんが、何か良い方法(おさだまりの方法等)がありましたら アドバイスお願いします。 |
|
投稿日時: 2005-07-06 23:41
フォルダを消す場合、子が存在したら削除はできません。
っていうか、Javadocにそう書いてありますが。 1・フォルダにフォルダがあれば、そのフォルダを取得...1へ 2・そのフォルダに存在するファイルを全て消す 3・そのフォルダを消す 4・1へ ってな感じで再帰処理を書く必要があります。 ちなみに、Jakarta ProjectsのCommons IOに上記の実装があったと思います。 |
|
投稿日時: 2005-07-07 00:48
かつのりさん
レスどうもありがとうございます! 問題は解決しました。 Javaの標準API(java.io.File)では、教えて頂いた再帰処理で実装する、 ということがわかりました。 今回は教えて頂いた、jakarta commons IO の FileUtils.forceDelete() で上記対応しました。 forceDelete() も内部では再帰処理をしているようなので、 自分でも実装してみたいと思います。 |
1