/* * Created on 13-3-29 * * 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. * * Copyright @2013 the original author or authors. */ package ch18io.directory; /** * Description of this file. * * @author XiongNeng * @version 1.0 * @since 13-3-29 */ import java.io.File; import java.io.IOException; public class DeleteDirectoryExample { private static final String SRC_FOLDER = "C:\\mkyong-new"; public static void main(String[] args) { File directory = new File(SRC_FOLDER); //make sure directory exists if (!directory.exists()) { System.out.println("Directory does not exist."); System.exit(0); } else { try { delete(directory); } catch (IOException e) { e.printStackTrace(); System.exit(0); } } System.out.println("Done"); } public static void delete(File file) throws IOException { if (file.isDirectory()) { //directory is empty, then delete it if (file.list().length == 0) { file.delete(); System.out.println("Directory is deleted : " + file.getAbsolutePath()); } else { //list all the directory contents String files[] = file.list(); for (String temp : files) { //construct the file structure File fileDelete = new File(file, temp); //recursive delete delete(fileDelete); } //check the directory again, if empty then delete it if (file.list().length == 0) { file.delete(); System.out.println("Directory is deleted : " + file.getAbsolutePath()); } } } else { //if file, then delete it file.delete(); System.out.println("File is deleted : " + file.getAbsolutePath()); } } }