文件刪除時可以選擇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的具體子類 |