我需要创建一个带有列标题的临时文件。而且我需要以最高效(最快,最少计算量)的方式进行操作。
我注意到我可以做到
Path file = Files.createTempFile(arguments);
或:
File f = new File(filename_str)
FileWriter fw = new FileWriter(f,true);
使用第二种方法,我知道我可以检查f
是否存在并且f
不是目录,然后可以使用for循环写出列标题。
但是,我相信采用第一种方法时,我必须创建一个file
对象并检查文件是否存在,如果不存在,那么我会执行createTempFile
并编写列标题。这似乎有些令人费解,因为我实际上将同时使用File
和FileWriter
以及createTempFile
。那么首先使用createTempFile
有什么意义呢?
我想知道这两种方法在性能方面有何不同?显然,一个是路径对象,第二个方法涉及File对象和FileWriter对象。但是,哪种方法比另一种更快或更有效?
答案 0 :(得分:2)
java.nio.file.Path是更现代,更可靠的方法。总是比java.io.File更喜欢它。
此处的性能无关紧要。差异不会明显。创建文件需要时间,而与使用Java方法或类无关。
createTempFile被保证 来创建名称不存在的文件。这几乎就是该方法的目的。