Java File Delete nio forceDeletion(File fileToDelete)

Here you can find the source of forceDeletion(File fileToDelete)

Description

Forces the deletion of the specified file.

License

Open Source License

Parameter

Parameter Description
fileToDelete file to delete.

Exception

Parameter Description
IOException if the deletion failed or if the file doesn't exist.

Declaration

public static void forceDeletion(File fileToDelete) throws IOException 

Method Source Code

//package com.java2s;
/*/*from  www  . j a  v a2  s.c om*/
 * Copyright (C) 2000 - 2018 Silverpeas
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as
 * published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 *
 * As a special exception to the terms and conditions of version 3.0 of
 * the GPL, you may redistribute this Program in connection with Free/Libre
 * Open Source Software ("FLOSS") applications as described in Silverpeas's
 * FLOSS exception.  You should have received a copy of the text describing
 * the FLOSS exception, and it is also available here:
 * "https://www.silverpeas.org/legal/floss_exception.html"
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

import java.io.File;

import java.io.IOException;

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

import java.util.Comparator;

import java.util.stream.Stream;

public class Main {
    /**
     * Forces the deletion of the specified file. If the write property of the file to delete isn't
     * set, this property is then set before deleting.
     *
     * @param fileToDelete file to delete.
     * @throws IOException if the deletion failed or if the file doesn't exist.
     */
    public static void forceDeletion(File fileToDelete) throws IOException {
        if (fileToDelete.exists() && !fileToDelete.canWrite()) {
            fileToDelete.setWritable(true);
        }
        try (Stream<Path> paths = Files.walk(fileToDelete.toPath())) {
            paths.sorted(Comparator.reverseOrder()).map(Path::toFile).forEach(File::delete);
        }
    }
}

Related

  1. deleteRecursively(File root)
  2. deleteTestFile(String extension)
  3. forceDelete(File file)
  4. forceDelete(File file)
  5. forceDelete(final File file)
  6. recDeleteDirFile(File f)
  7. recursiveDelete(File parent)
  8. safeDeleteFile(final String fileName)
  9. secureDelete(File file)