Java Directory Delete nio deleteFileOrDirectory(File file)

Here you can find the source of deleteFileOrDirectory(File file)

Description

Delete a file or directory

License

Open Source License

Parameter

Parameter Description
file File representing file or directory

Exception

Parameter Description
IOException an exception

Declaration

public static void deleteFileOrDirectory(File file) throws IOException 

Method Source Code

//package com.java2s;
/*/*from   w w  w . j a  va 2  s  . co m*/
 *  Copyright 2017 DTCC, Fujitsu Australia Software Technology, IBM - All Rights Reserved.
 *
 *  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;

import java.io.IOException;

import java.nio.file.FileVisitOption;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

import java.util.Comparator;

public class Main {
    /**
     * Delete a file or directory
     *
     * @param file {@link File} representing file or directory
     * @throws IOException
     */
    public static void deleteFileOrDirectory(File file) throws IOException {
        if (file.exists()) {
            if (file.isDirectory()) {
                Path rootPath = Paths.get(file.getAbsolutePath());

                Files.walk(rootPath, FileVisitOption.FOLLOW_LINKS).sorted(Comparator.reverseOrder())
                        .map(Path::toFile).forEach(File::delete);
            } else {
                file.delete();
            }
        } else {
            throw new RuntimeException("File or directory does not exist");
        }
    }
}

Related

  1. deleteDirIfEmpty(Path dir)
  2. deleteDirIfExists(Path dirPath)
  3. deleteDirOrFile(Path p, boolean followSymLinkDir)
  4. deleteDirReqursivelyIfExists(File dir)
  5. deleteDirWithFiles(File dir, int maxDepth)
  6. deleteFileOrDirectory(final File source)
  7. deleteFileOrFolder(final Path path)