我们需要在file.delete()之前调用file.exists(),然后才能删除文件.
File file = ...; if (file.exists()){ file.delete(); }
目前在我们所有的项目中,我们在一些util类中创建一个静态方法来包装这个代码.有没有其他的方法来实现相同的,所以我们不需要在其他项目中复制我们的utils文件.
解决方法
从Java 7开始,您可以使用
deleteIfExists返回布尔值(或抛出异常),这取决于文件是否被删除.此方法可能不是原子的
相对于其他文件系统操作.此外,如果一个文件正在由JVM /其他程序使用,那么在某些操作系统上,它将无法将其删除.每个文件都可以通过toPath方法转换为路径.例如.
文件文件= …;boolean result = Files.deleteIfExists(file.toPath()); //在try catch块中包围它