首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java删除文件的更好方法(如果存在

Java删除文件的更好方法(如果存在
EN

Stack Overflow用户
提问于 2014-12-22 17:35:59
回答 8查看 125.9K关注 0票数 65

在删除文件之前,我们需要在file.delete()之前调用file.exists()

代码语言:javascript
复制
 File file = ...;
 if (file.exists()){
     file.delete();
 }  

目前,在我们所有的项目中,我们在一些util类中创建了一个静态方法来包装这些代码。有没有其他方法可以实现同样的目的,这样我们就不需要在每个其他项目中复制我们的utils文件。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2014-12-22 17:39:32

从Java7开始,您可以使用deleteIfExists返回一个布尔值(或抛出异常),这取决于文件是否被删除。对于其他文件系统操作,该方法可能不是原子的。此外,如果某个文件正在被JVM/其他程序使用,那么在某些操作系统上,它将无法删除该文件。每个文件都可以通过toPath方法转换为path。例如。

代码语言:javascript
复制
File file = ...;
boolean result = Files.deleteIfExists(file.toPath()); //surround it in try catch block
票数 117
EN

Stack Overflow用户

发布于 2014-12-22 17:41:01

代码语言:javascript
复制
file.delete();

如果文件不存在,它将返回false。

票数 34
EN

Stack Overflow用户

发布于 2014-12-22 17:40:18

还有Java 7解决方案,使用新的(Ish)路径抽象:

代码语言:javascript
复制
Path fileToDeletePath = Paths.get("fileToDelete_jdk7.txt");
Files.delete(fileToDeletePath);

希望这能有所帮助。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27599965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档