いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

Javaでディレクトリを再帰的に削除するやり方 (Path, Directory, recursive delete)

概要

いつも使いたいときに忘れているので、ここにメモメモ。。。

commons-ioのFileUtils使えって言われればそうなのですが、自力でやらないといけないときもあります。

C#とかだと、Directory.Delete(path, true) ってやるとバサーって消してくれるので、どうしてもそういうのを探してしまうのですよねw

サンプル

try (Stream<Path> walk = Files.walk(dir)) {

    walk.sorted(Comparator.reverseOrder())
        .map(Path::toFile)
        .forEach(File::delete);

} catch (IOException ioErr) {
    // エラー処理
}

java 10 以降なら、var が使えるのですが、業務系ではまだまだ java 8 が多いので、しっかりと型指定必要。

参考情報


過去の記事については、以下のページからご参照下さい。

サンプルコードは、以下の場所で公開しています。