What the scenario call fs.close is necessary

I can't find more about fs.close explain in nodejs API. I want to know what the scenario call fs.close is necessary. for example:

var fs =  require('fs');
fs.writeFile("/home/a.tex","abc"); or like fs.appendFile("/home/a.tex","close")
fs.close(); //is it necessary?

Are there any effects if i don't call fs.close?

Any help is appreciated.

55185 次浏览

You don't need to use fs.close after fs.readFile, fs.writeFile, or fs.appendFile as they don't return a fd (file descriptor). Those open the file, operate on it, and then close it for you.

The streams returned by fs.createReadStream and fs.createWriteStream close after the stream ends but may be closed early. If you have paused a stream, you must call close on the stream to close the fd or resume the stream and let it end after emitting all its data.

But if you call fs.open or any of the others that give a fd, you must eventually fs.close the fd that you are given.