node学习之路(三)文件操作

来源:互联网 发布:单片机中断系统流程图 编辑:程序博客网 时间:2024/06/14 00:04
最近学习了node的fs模块,在此与大家分享所得。不妥之处请诸位道友批评指正。
1.文件操作的同步与异步当今异步操作横行编程界,node也是以异步编程为大家所称道。在node的文件操作中也是以异步为主,同步为辅(虽然存在感低,但我也是存在的)。异步方法:readFile(......),writeFile(......),appendFile(......),open(......) ;同步方法:在异步基础上加sync如readFileSync(..)大概介绍了文件的操作方式。2.文件的读写
读写全部文件(异步)://options参数可传入flag(文件操作)和encoding(编码格式)var options = {    flag: 'r',    encoding: 'utf8'};//fs读文件 参数:path(文件名/文件路径),callbackFunc(回调函数)fs.readFile('./html/index.html', options, function (err, data) {    if (!err) {        //fs写入文件 参数:path(文件名/文件路径),data(传入的数据,可以是字符串或Buffer对象),callbackFunc(回调函数)        fs.writeFile('./html/index2.html', data, function (err) {            if (!err)console.log('文件写入成功!');        });    } else {        console.log(err);    }});读写全部文件(同步):var html = fs.readFileSync('./html/index.html', 'utf8');fs.writeFileSync('./html/index2.html', html);//读写部分文件://创建存储数据的Buffer对象var fdBufR = new Buffer(100);var fdBufW = new Buffer('写入文件');//打开需要操作的文件position读取文件的开始位置fs.open('./html/index.html', 'w', function (err, fd) {    if (!err) {//向打开的文件中写入数据        fs.write(fd, fdBufW, 0, 3, position, function (err, bytesWrite, buffer) {            console.log('部分文件寫入成功,已经将fdBufW中的数据写入index文件中');            fs.close(fd);//关闭文件        })    }});//打开需要操作的文件position写入文件的开始位置fs.open('./html/index2.html', 'r', function (err, fd) {    if (!err) {//读取打开文件中的数据        fs.read(fd, fdBufR, 0, 100, position, function (err, bytesRead, buffer) {            if (!err)console.log('部分文件读取成功,已经保存到buffer对象中!');            fs.close(fd);//关闭文件        });    }});
原创粉丝点击