fs.writeFile和fs.writeStream之间有所不同

时间:2012-01-07 10:44:43

标签: node.js

我对这两种方法感到有些困惑,希望有人可以启发 我在fs.open->fs.writefs.writeFilefs.writeStream之间的差异。

1 个答案:

答案 0 :(得分:16)

fs.openfs.write用于低级访问,类似于在C代码中获得的内容。fs.open打开文件并fs.write写入文件。

fs.WriteStream是一个流,它在后台打开文件并排队写入,直到文件准备就绪。此外,当它实现流API时,您可以以更通用的方式使用它,就像网络流一样。你会...当用户将文件上传到您的服务器时想要这样 - 将传入的HTTP POST流pipe()传递给WriteStream。很容易。

fs.writeFile是一种将RAM中的大量数据写入文件的高级方法。它不支持流式传输等,所以对于大型文件或性能关键的东西来说这是一个坏主意。如果你在代码中写出小的JSON文件,你会想要这个。