使用Java删除文件
Java提供了使用Java程序删除文件的方法。与任何操作系统中的正常删除操作相反,使用Java程序删除的文件将被永久删除,而不会被移动到垃圾箱/回收站。
Java中用于删除文件的方法:
1. 使用Java.io.File.delete()函数:删除此抽象路径名表示的文件或目录。
句法:
public boolean delete()
返回:当且仅当文件或目录被成功删除时返回true;否则为假
Java
// Java program to delete a file
import java.io.*;
public class Test {
public static void main(String[] args)
{
File file
= new File("C:\\Users\\Mayank\\Desktop\\1.txt");
if (file.delete()) {
System.out.println("File deleted successfully");
}
else {
System.out.println("Failed to delete the file");
}
}
}
Java
// Java program to demonstrate delete using Files class
import java.io.IOException;
import java.nio.file.*;
public class Test {
public static void main(String[] args)
{
try {
Files.deleteIfExists(
Paths.get("C:\\Users\\Mayank\\Desktop\\
445.txt"));
}
catch (NoSuchFileException e) {
System.out.println(
"No such file/directory exists");
}
catch (DirectoryNotEmptyException e) {
System.out.println("Directory is not empty.");
}
catch (IOException e) {
System.out.println("Invalid permissions.");
}
System.out.println("Deletion successful.");
}
}
输出:
File deleted successfully
2. 使用 Files 包中定义的Java.nio.file.files.deleteifexists(Path p) 方法:该方法删除存在的文件。只有当目录不为空时,它才会删除路径中提到的目录。
句法:
public static boolean deleteIfExists(Path path) throws IOException
参数: path - 要删除的文件的路径
返回:如果文件被此方法删除,则返回true;如果它因为不存在而无法删除,则为 false。
抛出:
- DirectoryNotEmptyException – 如果文件是一个目录并且由于目录不为空而无法删除(可选的特定异常)
- IOException – 如果发生 I/O 错误。
Java
// Java program to demonstrate delete using Files class
import java.io.IOException;
import java.nio.file.*;
public class Test {
public static void main(String[] args)
{
try {
Files.deleteIfExists(
Paths.get("C:\\Users\\Mayank\\Desktop\\
445.txt"));
}
catch (NoSuchFileException e) {
System.out.println(
"No such file/directory exists");
}
catch (DirectoryNotEmptyException e) {
System.out.println("Directory is not empty.");
}
catch (IOException e) {
System.out.println("Invalid permissions.");
}
System.out.println("Deletion successful.");
}
}
输出:
Deletion successful.