Java:创建带有列标题的临时文件的最快方法

时间:2019-01-09 16:38:36

标签: java

我需要创建一个带有列标题的临时文件。而且我需要以最高效(最快,最少计算量)的方式进行操作。

我注意到我可以做到

Path file = Files.createTempFile(arguments);

或:

File f = new File(filename_str)
FileWriter fw = new FileWriter(f,true);

使用第二种方法,我知道我可以检查f是否存在并且f不是目录,然后可以使用for循环写出列标题。

但是,我相信采用第一种方法时,我必须创建一个file对象并检查文件是否存在,如果不存在,那么我会执行createTempFile并编写列标题。这似乎有些令人费解,因为我实际上将同时使用FileFileWriter以及createTempFile。那么首先使用createTempFile有什么意义呢?

我想知道这两种方法在性能方面有何不同?显然,一个是路径对象,第二个方法涉及File对象和FileWriter对象。但是,哪种方法比另一种更快或更有效?

1 个答案:

答案 0 :(得分:2)

java.nio.file.Path是更现代,更可靠的方法。总是比java.io.File更喜欢它。

此处的性能无关紧要。差异不会明显。创建文件需要时间,而与使用Java方法或类无关。

createTempFile被保证 来创建名称不存在的文件。这几乎就是该方法的目的。