Java 简明教程

Java - Delete Files

Deleting Files in Java

要删除 Java 中的文件,可以使用 File.delete() method 。此方法将删除给定路径中的文件或目录。

Syntax

下面是使用 File.delete() 方法删除文件的语法:

File file = new File("C:/java/hello.txt");

if(file.exists()){
   file.delete();
}

Deleting File from Current Directory

下面是演示如何使用 File.delete() 方法删除当前目录中现有文件的一个示例:

Example

package com.tutorialspoint;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class FileTest {

   public static void main(String args[]) throws IOException {
      BufferedWriter out = new BufferedWriter (new FileWriter("test.txt"));
      out.write("test data");
      out.close();

      File file = new File("test.txt");
      if(file.exists()) {
         boolean success = file.delete();

         if (success) {
            System.out.println("The file has been successfully deleted.");
         }else {
            System.out.println("The file deletion failed.");
         }
      }else {
         System.out.println("The file is not present.");
      }
   }
}

上述代码将创建文件 test.txt,并以二进制格式写入给定数字。stdout 屏幕上的输出也会相同。

这会产生以下结果 −

The file has been successfully deleted.

Deleting File That Does Not Exist

下面是演示如何调用 File.delete() 方法删除当前目录中不存在的文件的一个示例。由于文件不存在,因此它将返回 false 作为结果。

Example

package com.tutorialspoint;

import java.io.File;
import java.io.IOException;

public class FileTest {

   public static void main(String args[]) throws IOException {
      File file = new File("test1.txt");
      boolean success = file.delete();

      if (success) {
         System.out.println("The file has been successfully deleted.");
      }else {
         System.out.println("The file deletion failed.");
      }
   }
}

上述代码将创建文件 test.txt,并以二进制格式写入给定数字。stdout 屏幕上的输出也会相同。

这会产生以下结果 −

The file deletion failed.

Deleting All Files From Given Directory

下面是演示如何使用 File.delete() 方法递归删除给定目录中的所有文件的一个示例:

Example

package com.tutorialspoint;

import java.io.File;
import java.io.IOException;

public class FileTest {

   public static void deleteFiles(File dirPath) {
      File filesList[] = dirPath.listFiles();
      for(File file : filesList) {
         if(file.isFile()) {
            file.delete();
         } else {
            deleteFiles(file);
         }
      }
   }
   public static void main(String args[]) throws IOException {

      //Creating a File object for directory
      File file = new File("D:\\test");

      //List of all files and directories
      deleteFiles(file);
      System.out.println("Files deleted.");
   }
}

上述代码将创建文件 test.txt,并以二进制格式写入给定数字。stdout 屏幕上的输出也会相同。

这会产生以下结果 −

Files deleted.