📜  使用Java删除文件

📅  最后修改于: 2022-05-13 01:54:58.974000             🧑  作者: Mango

使用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.