集册 Java实例教程 删除文件。

删除文件。

欢马劈雪     最近更新时间:2020-01-02 10:19:05

523
删除文件。
/*n o w j a v a . c o m*/

/*

 * Licensed to the Apache Software Foundation (ASF) under one or more

 * contributor license agreements.  See the NOTICE file distributed with

 * this work for additional information regarding copyright ownership.

 * The ASF licenses this file to You 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.

 */

//package com.nowjava;


import java.io.File;


import java.io.FileNotFoundException;


import java.io.IOException;


public class Main {

    public static void main(String[] argv) throws Exception {

        File file = new File("Main.java");

        forceDelete(file);

    }


    /**

     * Deletes a file. If file is a directory, delete it and all sub-directories.

     * <p>

     * The difference between File.delete() and this method are:

     * <ul>

     * <li>A directory to be deleted does not have to be empty.</li>

     * <li>You get exceptions when a file or directory cannot be deleted.

     *      (java.io.File methods returns a boolean)</li>

     * </ul>

     *

     * @param file  file or directory to delete, must not be <code>null</code>

     * @throws NullPointerException if the directory is <code>null</code>

     * @throws FileNotFoundException if the file was not found

     * @throws IOException in case deletion is unsuccessful

     *///from N o  w  J a v a . c o m - 时  代  Java

    public static void forceDelete(File file) throws IOException {

        if (file.isDirectory()) {

            deleteDirectory(file);

        } else {

            boolean filePresent = file.exists();

            if (!file.delete()) {

                if (!filePresent) {

                    throw new FileNotFoundException("File does not exist: "

                            + file);

                }

                String message = "Unable to delete file: " + file;

                throw new IOException(message);

            }

        }

    }


    /**

     * Deletes a directory recursively. 

     *

     * @param directory  directory to delete

     * @throws IOException in case deletion is unsuccessful

     */

    
展开阅读全文