0

我在这里看到过关于File.delete()没有按预期工作的类似问题,但这与 Java 实际创建文件的方式略有不同,但在完成后不会将其删除。

File genFile = new File(parsed);
... sends file data across socket ... 
genFile.delete();

genFile生成的文件(

4

4 回答 4

1

File.delete()不好,因为它对错误保持沉默。

尝试

java.nio.file.Files.delete(file.toPath());  // throws IOException

它可能会告诉您无法删除文件的原因。(或者它可能不会:)

于 2013-03-15T05:03:34.620 回答
0

在尝试删除()之前,您需要关闭()文件连接

于 2013-03-15T05:07:22.673 回答
0

添加

genFile.close();

genFile.delete();

当您尝试删除文件时,流不会被刷新,因此请先关闭流并删除文件。

于 2013-03-15T05:10:00.023 回答
0

如果您在 Windows 或 *Unix 下运行,那么这些信息将是相关的。

Windows 不会删除任何应用程序打开的文件;在删除之前关闭文件。

Unix 变体应该继续删除文件(释放 inode)。

于 2013-03-15T05:10:40.680 回答