From: Svjatoslav Agejenko Date: Sat, 2 Nov 2013 21:18:14 +0000 (+0200) Subject: possibility to recursively delete directories X-Git-Tag: svjatoslavcommons-1.8~125 X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=commitdiff_plain;h=30d5a74b04947e845e4b8f4ae3220452d5b1de2c;p=svjatoslav_commons.git possibility to recursively delete directories --- diff --git a/src/main/java/eu/svjatoslav/commons/file/IOHelper.java b/src/main/java/eu/svjatoslav/commons/file/IOHelper.java index a6dd05f..5b4e634 100644 --- a/src/main/java/eu/svjatoslav/commons/file/IOHelper.java +++ b/src/main/java/eu/svjatoslav/commons/file/IOHelper.java @@ -17,6 +17,28 @@ import java.io.IOException; public class IOHelper { + /** + * Deletes files and directories recursively. WARNING!!! Follows symlinks!!! + */ + public static void deleteRecursively(final File file) throws IOException { + if (file.isDirectory()) { + + for (final File subFile : file.listFiles()) + deleteRecursively(subFile); + + if (!file.delete()) + throw new FileNotFoundException("Failed to delete directory: " + + file); + + return; + } + + if (file.isFile()) + if (!file.delete()) + throw new FileNotFoundException("Failed to delete file: " + + file); + } + public static byte[] getFileContents(final File file) throws FileNotFoundException, IOException {