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

最近学习了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);//关闭文件
        });
    }
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值