java 如何删除文件
使用 File.delete() 方法
通过 java.io.File 类的 delete() 方法可以直接删除文件。如果文件删除成功,返回 true;否则返回 false(如文件不存在或权限不足)。

import java.io.File;
public class DeleteFileExample {
public static void main(String[] args) {
File file = new File("example.txt");
if (file.delete()) {
System.out.println("文件删除成功");
} else {
System.out.println("文件删除失败");
}
}
}
使用 Files.delete() 方法(Java NIO)
java.nio.file.Files 提供更灵活的删除操作,支持抛出异常以明确失败原因(如文件不存在或权限问题)。

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class DeleteFileNIOExample {
public static void main(String[] args) throws Exception {
Path path = Paths.get("example.txt");
Files.delete(path);
System.out.println("文件删除成功");
}
}
处理删除异常
Files.deleteIfExists() 方法在文件不存在时不会抛出异常,适合需要静默处理的场景。
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class DeleteFileSafeExample {
public static void main(String[] args) throws Exception {
Path path = Paths.get("example.txt");
boolean isDeleted = Files.deleteIfExists(path);
if (isDeleted) {
System.out.println("文件删除成功");
} else {
System.out.println("文件不存在");
}
}
}
删除前检查文件状态
确保文件可删除前,可通过 exists() 或 isWritable() 验证文件状态。
import java.io.File;
public class CheckBeforeDelete {
public static void main(String[] args) {
File file = new File("example.txt");
if (file.exists() && file.canWrite()) {
file.delete();
}
}
}
注意事项
- 删除操作不可逆,需谨慎执行。
- 目录需为空才能删除,否则需递归删除子内容。
- Windows 系统下被占用的文件可能无法立即删除。






