CodeGym /Java 博客 /随机的 /在 Java 中删除一个文件
John Squirrels
第 41 级
San Francisco

在 Java 中删除一个文件

已在 随机的 群组中发布
如果您想摆脱无用的文件,请使用 Java 方法删除它们。在 Java 中删除文件和目录是一个简单的过程。有多种处理任务的方法——开发人员可以选择他们最熟悉的方法。这是一个简短的指南,可以在不破坏代码的情况下删除不需要的 Java 文件。让我们开始吧。

如何使用 java.io.File.Delete() 方法在 Java 中删除文件

您可以使用此方法删除与括号中的路径名匹配的目录或文件。请记住,要删除的目录必须没有文件。让我们看看如何在 Java 中使用File.Delete().Java删除文件 - 1

声明 java.io.File.Delete()

以下是声明方法以删除不需要的文件的方式:

// Java code for file deletion  
import java.io.*; 
  
public class Test 
{ 
    public static void main(String[] args) 
    { 
        File file = new File("C:\\Users\\Admin\\Files\\1.txt"); 
          
        if(file.delete()) 
        { 
            System.out.println("File deleted successfully"); 
        } 
        else
        { 
            System.out.println("Failed to delete the file"); 
        } 
    } 
}
如果您可以访问该文件并且它存在,您将获得相应的回报。如果失败,您将收到“删除文件失败”警报。

使用 java.nio.files.deleteIfExists() 删除 Java 文件

此方法可帮助 Java 开发人员通过指定文件路径来删除文件。与 类似java.io.FileDelete(),如果文件被成功访问和删除,该方法将返回 true,如果出现问题,则显示失败输出。失败的最常见原因java.nio.files.deleteIfExists()是路径名错误 - 简单地说,在您指定的目录中没有具有匹配参数的文件。为了更深入地理解 if java.nio.files.deleteIfExists(),我们来看看它是如何处理不同文件类型的:
  • 符号链接——删除的是链接,而不是它后面的文件。
  • 目录- 一旦目录为空或只有特殊条目(仅与方法的少数规范相关),目录将被成功删除。
  • 文件- 在大多数情况下,只要您在方法中指定的路径是正确的并且您可以访问该文件,它就会被成功删除。但是,某些操作系统的规范不允许开发人员删除当前打开的文件。

声明 java.niofile.deleteIfExists

声明方法很简单——让我们看一下它的一般语法。

public static boolean deleteIfExists(Path path)
                   throws IOException

java.niofile.deleteIfExists 的参数

开发人员需要指定一个参数来运行该方法 - 他要从系统中删除的文件的路径。

java.niofile.deleteIfExists 返回

该方法有两个返回值:
  • 没错,当文件被顺利删除的时候。
  • False,如果过程中出现错误(目录不为空,文件不存在,开发人员没有所需的权限等)。

java.niofile.deleteIfExists 异常

至于异常,开发人员应该为三个示例场景做好准备:
  • DirectoryNotEmptyException - 顾名思义,这意味着您的目录中有一个字段。将它们移到其他地方后,您将能够成功完成目录删除。
  • SecurityException - 如果您的设备上安装了安全管理器,文件删除方法将被覆盖SecurityManager.checkdelete(String)。结果,开发人员将收到异常警告。
  • IOException与 I/O 错误有关 - 硬盘驱动器不兼容、过时的驱动程序选择等。

使用 deleteIfExists() 的例子


// Java program to show deleteIfExists() file handling
// java.nio.file.Files.deleteIfExists() 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");
  
        // deleteIfExists File
        try {
  
            Files.deleteIfExists(path);
        }
        catch (IOException e) {
  
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

例子#2


/ Sample Java deletion program
// java.nio.file.Files.deleteIfExists() method
  
import java.io.IOException;
import java.nio.file.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create an object of Path
        Path pathOfFile
            = Paths.get("D:\\Work\\Test\\"
                        + "text1.txt");
  
        // delete File if file exists
        try {
  
            boolean result
                = Files.deleteIfExists(pathOfFile);
  
            if (result)
                System.out.println("File is deleted");
            else
                System.out.println("File does not exists");
        }
        catch (IOException e) {
  
            // TODO Auto-generated catch block
            e.printStackTrace();

结论

这些是在 Java 中删除文件的主要方法。由于它们具有相同的参数,因此可以随意互换使用它们。练习几次 Java 文件删除后,您一定会掌握它的窍门。
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION