Java Delete File Recursively deleteRecursive(final File file)

Here you can find the source of deleteRecursive(final File file)

Description

Rekursives l?schen von Dateien und Verzeichnissen

License

Apache License

Parameter

Parameter Description
file Falls das Argument eine Datei ist, wird diese gel?scht. Ist es ein Verzeichnis, werden alle dieses mitsamt aller darin liegenden Verzeichnisse und Dateien gel?scht.

Declaration

public static void deleteRecursive(final File file) 

Method Source Code

//package com.java2s;
//License from project: Apache License 

import java.io.File;

public class Main {
    /**//w  ww . jav a2s .  com
     * Rekursives l?schen von Dateien und Verzeichnissen
     * 
     * @param file
     *            Falls das Argument eine Datei ist, wird diese gel?scht. Ist es
     *            ein Verzeichnis, werden alle dieses mitsamt aller darin
     *            liegenden Verzeichnisse und Dateien gel?scht.
     */
    public static void deleteRecursive(final File file) {
        if (file == null)
            return;

        if (file.isDirectory()) {
            final File[] files = file.listFiles();
            for (int i = 0; i < files.length; i++)
                deleteRecursive(files[i]);
        }

        file.delete();
    }

    public static boolean isDirectory(String fileName) {
        File testFile = new File(fileName);

        if ((testFile.exists()) && (testFile.isDirectory())) {
            return true;
        } else {
            return false;
        }
    }

    public static boolean delete(File f) {
        if (f.isFile())
            return f.delete();
        else if (f.isDirectory()) {
            boolean b = clearDir(f);
            b &= f.delete();
            return b;
        } else
            return false;
    }

    public static boolean isFile(String fileName) {
        File testFile = new File(fileName);

        if ((testFile.exists()) && (testFile.isFile())) {
            return true;
        } else {
            return false;
        }
    }

    public static boolean clearDir(File dir) {
        if (!dir.isDirectory())
            return false;
        File[] files = dir.listFiles();
        if (files == null || files.length == 0)
            return true;
        boolean cleared = true;
        for (File sub : files) {
            cleared &= delete(sub);
        }
        return cleared;
    }
}

Related

  1. deleteRecursive(File toDelete)
  2. deleteRecursive(File toDelete)
  3. deleteRecursive(final File dir)
  4. deleteRecursive(final File file)
  5. deleteRecursive(final File file)
  6. deleteRecursive(final File file, final boolean collect)
  7. deleteRecursiveDir(File directory)
  8. deleteRecursiveDirectories(String mainDir)
  9. deleteRecursiveDirectory(String dirName)