X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fcommons%2Ffile%2FIOHelper.java;h=1cc7c02a2e8dd01c075ed33a5ea8b531a21ed60c;hb=e49d583cb64523c584cd848c8a421140c5193514;hp=a6dd05f6abf99aa3d366bc8fbe7db328ea7d0ce2;hpb=cf965fda534cc562368c9f2a3f34475e2519fcdc;p=svjatoslav_commons.git diff --git a/src/main/java/eu/svjatoslav/commons/file/IOHelper.java b/src/main/java/eu/svjatoslav/commons/file/IOHelper.java old mode 100644 new mode 100755 index a6dd05f..1cc7c02 --- a/src/main/java/eu/svjatoslav/commons/file/IOHelper.java +++ b/src/main/java/eu/svjatoslav/commons/file/IOHelper.java @@ -1,10 +1,10 @@ /* * Svjatoslav Commons - shared library of common functionality. - * Copyright ©2012-2013, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu + * Copyright ©2012-2014, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu * * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public License - * as published by the Free Software Foundation. + * modify it under the terms of version 3 of the GNU Lesser General Public License + * or later as published by the Free Software Foundation. */ package eu.svjatoslav.commons.file; @@ -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 {