通过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);
});

最新文章

  1. 两个单选按钮(一个是,一个否 ),一个div层,实现点击隐藏,显示div
  2. useradd mfs -s /sbin/nologin -M
  3. 1763 An Essay towards solving a Problem in the Doctrine of Chances
  4. ASP.NET静态页生成
  5. grep线上环境精典案例后续
  6. HTTPS、SSL与数字证书介绍
  7. haskell 开发环境配置
  8. 一个简单链表的C++实现
  9. 与众不同 windows phone (25) - Input(输入)之捕获 UIElement 之外的触控操作, Silverlight 方式捕获手势操作, XNA 方式捕获手势操作, 多点触控
  10. IOC容器Unity的使用及独立配置文件Unity.Config
  11. Oracle14~23
  12. TensorFlow框架(1)之Computational Graph详解
  13. 纯css隐藏移动端滚动条解决方案(ios上流畅滑动)
  14. 程序员50题(JS版本)(五)
  15. Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第一集之安装VMware】
  16. java元注解 @Documented注解使用
  17. 零基础写python爬虫之使用Scrapy框架编写爬虫
  18. 【LeetCode】3. Longest Substring Without Repeating Characters (2 solutions)
  19. 在mui中创建aJax来请求数据..并展示在页面上
  20. 在 Java 8 中获取日期

热门文章

  1. Navicat连接阿里云服务器MSQL数据库
  2. VB中preserve的用法
  3. os.path.sep
  4. python3-使用模块
  5. window.location对象 获取页面地址
  6. namenode和datanode的高可用性和故障处理
  7. MongoDB的分页排序
  8. MongoDB的安装以及启动
  9. vue-cli3.0配置
  10. Day01_课后练习题