[Schmitzm-commits] r1614 - trunk/schmitzm-core/src/main/java/de/schmitzm/io

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Wed Jun 29 12:41:37 CEST 2011


Author: keeb
Date: 2011-06-29 12:41:37 +0200 (Wed, 29 Jun 2011)
New Revision: 1614

Modified:
   trunk/schmitzm-core/src/main/java/de/schmitzm/io/IOUtil.java
Log:
supplemented method deleteFiles() with a method deleteFolder() enabling the deletion of empty directories as well

Modified: trunk/schmitzm-core/src/main/java/de/schmitzm/io/IOUtil.java
===================================================================
--- trunk/schmitzm-core/src/main/java/de/schmitzm/io/IOUtil.java	2011-06-23 19:03:26 UTC (rev 1613)
+++ trunk/schmitzm-core/src/main/java/de/schmitzm/io/IOUtil.java	2011-06-29 10:41:37 UTC (rev 1614)
@@ -660,6 +660,30 @@
 	 */
 	public static int deleteFiles(File dir, FileFilter filter,
 			boolean recursive, boolean showFiles) {
+		return deleteFolder(dir, filter, recursive, showFiles, false);
+	}
+
+	/**
+	 * Erweitert die deleteFiles() Methode um die Möglichkeit auch die dann
+	 * leeren Ordner zu löschen. Nützlich bei mehreren Unterverzeichnissen
+	 * 
+	 * @param dir
+	 *            Verzeichnis in dem Dateien/Verzeichnisse geloescht werden
+	 * @param filter
+	 *            bestimmt, welche Dateien/Verzeichnisse geloescht werden
+	 * @param recursive
+	 *            wenn {@code true} werden auch alle Dateien/Verzeichnisse in
+	 *            Unterverzeichnissen geloescht, die dem Filter entsprechen
+	 * @param showFiles
+	 *            wenn {@code true} werden die geloeschten Dateien auf der
+	 *            Console ausgegeben
+	 * @param complete
+	 *            wenn {@code true} werden auch die leeren Verzeichnisse
+	 *            gelöscht
+	 * @return Anzahl geloeschter Dateien und Verzeichnisse
+	 */
+	public static int deleteFolder(File dir, FileFilter filter,
+			boolean recursive, boolean showFiles, boolean complete) {
 		if (!dir.isDirectory())
 			return 0;
 
@@ -690,7 +714,10 @@
 			for (File directory : directories)
 				delCount += deleteFiles(directory, filter, recursive, showFiles);
 		}
+		if (complete)
+			dir.delete();
 		return delCount;
+
 	}
 
 	/**
@@ -1535,15 +1562,15 @@
 
 	public static void zipFile(File inputFile, ZipOutputStream zos, File cutOff)
 			throws IOException {
-		
+
 		String absolutePath = cutOff.getAbsolutePath();
 		int l = absolutePath.length();
 		if (!absolutePath.endsWith(File.separator))
 			l++;
-		
+
 		zipFile(inputFile, zos, l);
 	}
-	
+
 	/**
 	 * Returns a n md5 hash as a String for the given {@link File} parameter.
 	 * The file parameter may not point to a directory!



More information about the Schmitzm-commits mailing list