File.delete()和Files.delete(Path path)的区别

文件删除时可以选择File.delete()和Files.delete(Path path),这两个方法到底有什么区别呢?

//删除暂存的pdf
File file =new File(pdfFilename);
file.delete();

Path path2 = Paths.get(pdfFilename);
Files.delete(path2);

以下就用表格一一列举出来File.delete()和Files.delete(Path path)的区别:

 

File.delete()

Files.delete(Path path)

JDK

JDK1.0

JDK1.7

来源

java.io.File对象的实例方法

java.nio.file.Files类的静态方法

参数

无参

Java.nio.file.Path

返回值

boolean

void

异常声明

无声明

声明抛出java.io.IOException

文件不存在

不抛异常,返回false

抛java.nio.file.NoSuchFileException

删除非空目录

无法删除,返回false

无法删除,抛java.nio.file.DirectoryNotEmptyException

删除被占用文件

无法删除,返回false

无法删除,抛java.nio.file.FileSystemException

其他原因文件无法删除

不抛异常,返回false

抛java.io.IOException的具体子类

原文地址:https://www.cnblogs.com/zt007/p/12562267.html