導(dǎo)言:nodejs中所有與文件相關(guān)的操作都在fs模塊中,而讀寫操作又是我們會經(jīng)常用到的操作,nodejs的fs模塊針對讀操作為我們提供了readFile,read, createReadStream三個方法,針對寫操作為我們提供了writeFile,write, createWriteStream三個方法,下面分析一下它們的區(qū)別:
一、readFile和writeFile
1、readFile方法是將要讀取的文件內(nèi)容完整讀入緩存區(qū),再從該緩存區(qū)中讀取文件內(nèi)容,具體操作如下:
fs.readFile('./test.txt', 'utf8', function(err, data){ console.log(data); });
與其對應(yīng)的同步方法為:
var data = fs.readFileSync('./test.txt', 'utf8'); console.log(data);
同步方法和異步方法的區(qū)別是:在使用同步方法執(zhí)行的操作結(jié)束之前,不能執(zhí)行后續(xù)代碼的執(zhí)行;而異步方法將操作結(jié)果作為回調(diào)函數(shù)的參數(shù)進(jìn)行返回,方法調(diào)用之后,就可以立即執(zhí)行后續(xù)的代碼,讀取完畢后會調(diào)用對應(yīng)的回調(diào)函數(shù)。