Java中的文件 delete() 方法及示例
Java.nio.file.Files的delete()方法帮助我们删除位于作为参数传递的路径的文件。
此方法对于其他文件系统操作可能不是原子的。
如果文件是符号链接,则删除符号链接本身,而不是链接的最终目标。如果文件是目录,则此方法仅在目录为空时删除该文件。在一些实现中,目录具有用于在创建目录时创建的特殊文件或链接的条目。在这样的实现中,当仅存在特殊条目时,目录被认为是空的。在这种情况下,可以使用此方法删除目录。在某些操作系统上,当此Java虚拟机或其他程序打开并使用该文件时,可能无法删除该文件。
句法:
public static void delete(Path path)
throws IOException
参数:此方法接受参数路径,该路径是要删除的文件的路径。
返回值:此方法不返回任何内容。
异常:此方法将抛出以下异常:
- NoSuchFileException – 如果文件不存在(可选的特定异常)
- DirectoryNotEmptyException – 如果文件是一个目录并且因为目录不为空而无法删除
- IOException – 如果发生 I/O 错误
- SecurityException – 如果是默认提供程序,并且安装了安全管理器,则会调用 SecurityManager.checkDelete(String) 方法来检查是否删除对文件的访问权限
下面的程序说明了 delete?(Path) 方法:
方案一:
// 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”中删除
方案二:
// 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: Java Java.nio.file.Path)