Java File delete()方法及实例
java.nio.file .Files 的 delete() 方法帮助我们删除一个位于作为参数传递的路径上的文件。
这个方法对于其他文件系统操作来说可能不是原子性的。
如果该文件是一个符号链接,那么删除的是符号链接本身,而不是链接的最终目标。如果文件是一个目录,那么这个方法将只在该目录为空时删除该文件。在一些实现中,一个目录有特殊文件或链接的条目,这些条目在目录创建时被创建。在这样的实现中,当只有特殊条目存在时,一个目录被认为是空的。在这种情况下,可以用这种方法删除目录。在某些操作系统上,当一个文件被该Java虚拟机或其他程序打开并使用时,可能无法删除该文件。
语法
public static void delete(Path path)
throws IOException
参数: 该方法接受一个参数 path ,即要删除的文件的路径。
返回值: 该方法不返回任何东西。
异常: 该方法将抛出下列异常。
- NoSuchFileException – 如果文件不存在(可选择的特定异常)。
- DirectoryNotEmptyException – 如果文件是一个目录,并且由于该目录不是空的而不能被删除。
- IOException – 如果发生I/O错误
- SecurityException – 在默认提供者的情况下,并且安装了安全管理器,SecurityManager.checkDelete(String)方法被调用,以检查对文件的删除权限
以下程序说明了delete?(Path)方法:
程序1 :
// Java program to demonstrate
// java.nio.file.Files.delete?() method
import java.io.IOException;
import java.nio.file.*;
public class GFG {
public static void main(String[] args)
{
// create object of Path
Path path
= Paths.get("D:\\Work\\Test\\file1.txt");
// delete File
try {
Files.delete(path);
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
输出。
在删除该文件之前。该文件存在于 “D:\Work\Test\file1.txt “路径中
删除文件后:文件从路径 “D:\\Work\Test\file1.txt “中删除
程序2 :
// Java program to demonstrate
// java.nio.file.Files.delete?() method
import java.io.IOException;
import java.nio.file.*;
public class GFG {
public static void main(String[] args)
{
// create object of Path
Path pathOfFile1
= Paths.get("D:\\temp\\Files"
+ "\\Cover Letter.docx");
Path pathOfFile2
= Paths.get("D:\\temp\\Files"
+ "\\Java-Concurrency-Essentials.pdf");
// delete both Files
try {
Files.delete(pathOfFile1);
Files.delete(pathOfFile2);
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
输出。
删除文件前:
删除文件后:
引用: https://docs.oracle.com/javase/10/docs/api/java/nio/file/Files.html#delete(java.nio.file.Path)