这真的是一篇跨年的文章了,好长,一边看,一边跟着敲代码验证,那么,问题来了,你和谁一起跨年了(机智脸)?
在Node.js中,提供一个fs模块,以实现文件及目录的读写操作。
一、同步方法与异步方法
在Node.js中,使用fs模块来实现所有有关文件及目录的创建,写入及删除操作。在fs模块中,多有文件及目录的操作都可以使用同步或异步这两种方法,即readFile 和readFileSync,有Sync后缀的方法为同步方法,不具有Sync后缀的方法均为异步方法。这两者的区别就是,同步方法立即返回操作结果,在使用同步方法执行的操作结束执行之前,不能执行后续代码,
var fs = require('fs');var data = fs.readFileSync('./index.html','utf-8');// 等待操作返回结果,然后利用该结果console.log('data')
异步方法竟操作结果作为回调函数的参数进行返回,在方法调用之后,可以立即执行后续代码,
var fs = require('fs');var data = fs.readFile('./index.html', 'utf-8', function(err,data){ // 操作结果作为回调函数的第二个参数返回 console.log(data)});
但是,在异步读取中,如果同时执行两个文件的读取操作,并不确保那个操作结果先被返回,这完全取决于程序读取该文件所花费的时间,如果确保一个文件读取完毕再读取另一个文件,应该在第一个读取文件的回调函数中读取另一个文件。
二、文件的完整读写
异步读取文件
fs.readFile(filename,[options],function(err,data){ })
第一个参数filename:表示要读取文件的路径和名称
第二个参数option:指定使用哪种编码格式来读取该文件,可指定的属性值为‘utf-8’,‘ascii’,‘base64’,
第三个参数callback:表示文件服务完毕后执行的回调函数,回调函数的第一个参数err,为读取文件操作失败时触发的错误对象,第二个参数data,表示读取文件成功后读取到的文件内容。
案例:
var fs = require('fs');var data = fs.readFile('./index.txt', 'utf-8', function(err,data){ // 操作结果作为回调函数的第二个参数返回 if (err) { console.log('读取文件发生错误') }else { console.log(data) }
注:本文内容来自互联网,旨在为开发者提供分享、交流的平台。如有涉及文章版权等事宜,请你联系站长进行处理。