文档

Java™ 教程-Java Tutorials 中文版
删除文件或目录
Trail: Essential Classes
Lesson: Basic I/O
Section: File I/O (Featuring NIO.2)

删除文件或目录

你可以删除文件,目录或链接。对于符号链接,链接将被删除,而不是链接的目标。对于目录,目录必须为空,否则删除失败。

Files 类提供了两种删除方法。

delete(Path) 方法将删除该文件,或者如果删除失败抛出异常。例如,如果文件不存在,则抛出 NoSuchFileException。你可以捕获异常以确定删除失败的原因,如下所示:

try {
    Files.delete(path);
} catch (NoSuchFileException x) {
    System.err.format("%s: no such" + " file or directory%n", path);
} catch (DirectoryNotEmptyException x) {
    System.err.format("%s not empty%n", path);
} catch (IOException x) {
    // File permission problems are caught here.
    System.err.println(x);
}

deleteIfExists(Path) 方法也会删除该文件,但如果该文件不存在,则不会抛出任何异常。如果有多个线程删除文件并且你不想仅因为一个线程首先执行此操作而导致异常,则静默失败非常有用。


Previous page: Checking a File or Directory
Next page: Copying a File or Directory