Node.js实战12:fs模块高级技巧。

通过fs模块使用流

fs模块同样有流接口,如下例:

var fs = require("fs");

var read_able = fs.createReadStream("1.txt");
var write_able = fs.createWriteStream("2.txt");

read_able.pipe(write_able);

 

当这段代码执行时,会将1.txt中的内容通过pipe“同步”到2.txt中,相当于从1.txt中读取,再写入2.txt。

文件监视

例程:

var fs = require("fs");

fs.watchFile(__dirname+'/test12.js',{persistent: true, interval: 300},function(status){
    if(status){
        console.log(status);
    }
});

test12.js即本例程代码,执行时,如果我们对文件做修改,则会有如下提示:

文件锁

使用文件锁,可以防止一个文件同时被多人做出修改,以导致文件内容损坏等问题。

  • 使用独占标记创建锁文件

fs打开文件时,可以使用一个x标记,这个标记可以让文件以独占方式打开,即:你打开后,别人就不能再打开。

例程:

var fs = require("fs");

fs.open("test.txt","wx",function(err){
    if(err) return console.error(err);
});

运行后,如果它人或其它进程等想再打开,会出现如下错误提示:

除非文件被关闭,否则,别人不能使用。

如何加入关闭?将代码稍做修改:

var fs = require("fs");

fs.open("test.txt","wx",function(err,fp){
    if(err) return console.error(err);
    fs.close(fp);
});



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值