Java 中如何删除文件
在Java中,你可以通过多种方法来删除文件。但是当你选择适合方法时,请确保处理可能发生的任何异常,比如文件不存在或者文件由于权限问题不能被删除等。
Files.delete
使用Files
类的delete(Path path)
方法(Java 7及以上):
public void deleteFile() {
Path path = Paths.get("/Users/darcy/wdbyte/test.txt");
try {
Files.delete(path);
System.out.println("文件删除成功");
} catch (Exception e) {
System.out.println("文件删除失败");
e.printStackTrace();
}
}
Files.deleteIfExists ⭐️
使用Files
类的deleteIfExists(Path path)
方法,与delete(Path path)
类似,但当文件不存在时,不会抛出异常:
public void deleteIfExists() {
Path path = Paths.get("/Users/darcy/wdbyte/test.txt");
try {
boolean deleted = Files.deleteIfExists(path);
if (deleted) {
System.out.println("文件删除成功");
} else {
System.out.println("文件不存在或者无法删除");
}
} catch (Exception e) {
System.out.println("文件删除失败");
e.printStackTrace();
}
}
Files.delete
使用自 Java 1.0 开始就支持的 File
类的delete()
方法删除文件:
public void delete() {
File file = new File("/Users/darcy/wdbyte/test.txt");
if (file.delete()) {
System.out.println("文件删除成功");
} else {
System.out.println("文件删除失败");
}
// 如果担心因为文件不存在而抛出异常,可以试下如下方法。
// file.deleteOnExit();
}
FileUtils.forceDelete
也可以使用 Apache Commons IO 库中的文件操作方法,使用FileUtils.forceDelete(File file)
来删除文件,这个方法的好处是它会处理所有底层的目录和文件删除细节。
引入依赖:
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.15.1</version>
</dependency>
删除文件:
public void forceDelete() {
File file = new File("/Users/darcy/wdbyte/test.txt");
try {
FileUtils.forceDelete(file);
System.out.println("文件删除成功");
} catch (Exception e) {
System.out.println("文件删除失败");
e.printStackTrace();
}
}
一如既往,文章中代码存放在 Github.com/niumoo/javaNotes.