Here you can find the source of deleteRecursively(File directory)
public static void deleteRecursively(File directory)
//package com.java2s; /*-------------------------------------------------------------------------+ | | | Copyright 2005-2011 The ConQAT Project | | | | Licensed under the Apache License, Version 2.0 (the "License"); | | you may not use this file except in compliance with the License. | | You may obtain a copy of the License at | | | | http://www.apache.org/licenses/LICENSE-2.0 | | | | Unless required by applicable law or agreed to in writing, software | | distributed under the License is distributed on an "AS IS" BASIS, | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | | See the License for the specific language governing permissions and | | limitations under the License. | +-------------------------------------------------------------------------*/ import java.io.File; public class Main { /**/*from w w w . jav a 2s . c o m*/ * Recursively delete directories and files. This method ignores the return * value of delete(), i.e. if anything fails, some files might still exist. */ public static void deleteRecursively(File directory) { if (directory == null) { throw new IllegalArgumentException("Directory may not be null."); } else if (directory.listFiles() == null) { throw new IllegalArgumentException(directory.getAbsolutePath() + " is not a valid directory."); } for (File entry : directory.listFiles()) { if (entry.isDirectory()) { deleteRecursively(entry); } entry.delete(); } directory.delete(); } }