文件删除时可以选择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的具体子类 |