例如,我想从网络上保存大文件(3G +)。代码示例:如果在从InputStream保存文件的过程中发生错误,删除文件是否安全?
try {
Files.copy(inputstream, destFilePath);
} catch (IOException ex) {
Files.deleteIfExists(destFilePath);
} finally {
IOUtils.closeQuietly(inputstream);
}
根据的JavaDoc deleteIfExists
:
在某些操作系统可能无法删除文件时 *这是此Java虚拟机或打开和使用其他程序。
以这种方式删除文件是否安全? Files.copy
发布输出流偶发生错误,是否保证JVM释放锁定文件?
你可以在删除它之前调用file.close()。 – ivange94
@ ivange94,我不确定我能否找到这个方法'File :: close'。 – eg04lt3r
对不起。该方法实际上存在,但在FileInputStream中。不是文件。 – ivange94