我在这里看到过关于File.delete()
没有按预期工作的类似问题,但这与 Java 实际创建文件的方式略有不同,但在完成后不会将其删除。
File genFile = new File(parsed);
... sends file data across socket ...
genFile.delete();
genFile
生成的文件(
File.delete()
不好,因为它对错误保持沉默。
尝试
java.nio.file.Files.delete(file.toPath()); // throws IOException
它可能会告诉您无法删除文件的原因。(或者它可能不会:)
在尝试删除()之前,您需要关闭()文件连接
添加
genFile.close();
前
genFile.delete();
当您尝试删除文件时,流不会被刷新,因此请先关闭流并删除文件。
如果您在 Windows 或 *Unix 下运行,那么这些信息将是相关的。
Windows 不会删除任何应用程序打开的文件;在删除之前关闭文件。
Unix 变体应该继续删除文件(释放 inode)。