临时文件应创建到临时目录中。使用通话检索System.getProperty("java.io.tmpdir")
临时文件应该是临时文件,即在不需要文件时将其删除。为了做到这一点,请不要忘记finally
在测试后运行的代码块或代码中删除它,即:
File tmpFile = ...
try {
// deal with tempFile
} finally {
tempFile.delete();
}
和/或
public class MyTestCase {
private File tmpFile = null;
@Before
public void setUp() {
tmpFile = ...;
}
@Test
public void setUp() {
}
@After
public void setUp() {
tmpFile.delete();
}
}
File.createTempFile(String prefix, String suffix)
如果可能,请使用,即可以使用由生成的特殊名称的文件createTempFile()
。
使用file.deleteOnExit()
。这将创建挂钩,当JVM终止时,该挂钩会自动删除文件。仅当JVM被杀死时kill -9
,该文件才会保留,因此它没有机会运行关闭代码。