关闭

Node.Js fs模块文件操作(三)

标签: node.jsfs模块文件系统
1796人阅读 评论(0) 收藏 举报

三、Node.Js 文件或目录监视

1.fs.watchFile(filename, [options], listener);

对文件进行监视,并且在监视到文件被修改时执行处理

/**
 * filename, 完整路径及文件名;
 * [options], persistent true表示持续监视,不退出程序;interval 单位毫秒,表示每隔多少毫秒监视一次文件
 * listener, 文件发生变化时回调,有两个参数:curr为一个fs.Stat对象,被修改后文件,prev,一个fs.Stat对象,表示修改前对象
 */

var fs = require('fs');
var path = require('path');
var file1 = path.resolve('/test1/one.txt');
//监视文件
//1.当第一次创建监视器的时候,如果文件不存在,监视器毁掉函数会触发一次
fs.watchFile(file1, {
    interval: 20
}, function(curr, prev) {
    if (Date.parse(prev.ctime) == 0) {
        console.log('文件被创建');
    } else if (Date.parse(curr.ctime) == 0) {
        console.log('文件被删除');
    } else if (Date.parse(curr.mtime) != Date.parse(prev.mtime)) {
        console.log('文件有修改');
    }
});
var file2 = path.resolve('/test1/two.txt');
fs.watchFile(file2,  function(curr, prev) {
    console.log('这是第二个watch,监视文件有修改');
});
2.fs.unwatchFile(filename, [listener]);

取消对文件进行监视

/**
 * filename, 完整路径及文件名;
 * [listener], 要取消的监听器事件,如果不指定,则取消所有监听处理事件
 */

var fs=require('fs');
var path=require('path');
var file1=path.resolve('/test1/one.txt');
//监视文件
//当前程序没有结束,一直在监视文件
var listener=function(curr,prev){
	console.log('监视文件发生修改');
};
fs.watchFile(file1,{interval:100},listener);
//取消监视文件
//当前程序程序结束退出
fs.unwatchFile(file1,listener);
3.fs.watch(filename, [options], [listener]);

监视文件或目录

//对文件或目录进行监视,并且在监视到修改时执行处理;
// fs.watch返回一个fs.FSWatcher对象,拥有一个close方法,用于停止watch操作;
// 当fs.watch有文件变化时,会触发fs.FSWatcher对象的change(err, filename)事件,err错误对象,filename发生变化的文件名
/**
 * filename, 完整路径及文件名或目录名;
 * [listener(event, filename], 监听器事件,有两个参数:event 为rename表示指定的文件或目录中有重命名、删除或移动操作或change表示有修改,filename表示发生变化的文件路径
 */

var fs=require('fs');
var path=require('path');
var file1=path.resolve('/test1');
//监视文件
var fsWatcher=fs.watch(file1,function(err,filename){
	//console.log('创建监视器成功,filename:'+filename);
});
//chang 事件会触发多次
fsWatcher.on('change',function(err,filename){
	console.log(filename+'-发生变化');
});
//50秒后 关闭监视
setTimeout(function(){
	fsWatcher.close(function(err){
		if(err)
			console.error(err);
		console.log('关闭成功watch');
	});
},50000);
更多参考:http://www.cnblogs.com/gaojun/p/4159488.html

0
0
查看评论

Node.js 中 fs 模块使用样例

Node.js 中 fs 模块使用样例 使用Node.js编程中难免用的其fs模块的API,如读、写文件操作等。fs模块所有的API都有异步和同步的形式。同步和异步函数接口的应用环境不同,例如,使用异步API无法保证函数调用顺序,要使用回调函数等方法才能得到满意的结果。现将常见的文件操作场景汇总一...
  • cocoonyang
  • cocoonyang
  • 2016-09-12 10:47
  • 1404

nodejs中的fs模块

fs模块为nodejs的核心模块之一,主要处理文件的读写、复制、s删除、重命名等操作。当需要使用该模块时,需要先导入该文件var fs = require('fs'); nodejs文件系统中的方法均有异步和同步两种版本,例如读取文件内容的函数有异步的fs.readFile()和同步...
  • charlene0824
  • charlene0824
  • 2016-05-30 21:03
  • 4469

Node.js 文件模块(fs)模块介绍

文件的I/O是由标准的POSIX函数封装二成的。需要使用require(‘fs’)访问这个模块。 所有的方法都提供了异步和同步两种方式。 1、fs.rename(path1, path2, [callback]) :这个API的主要功能就是重命名某个文件。例如:var fs = require(...
  • u014695532
  • u014695532
  • 2016-04-16 20:38
  • 1944

Node.Js fs模块文件操作(一)

一、字符串操作文件 1.fs.writeFile(filename,data,[options],callback); 创建并写入文件 /**  * filename, 必选参数,文件名  * data, 写入的数据,可以字符或一个Buffer对象  * [o...
  • u011127019
  • u011127019
  • 2016-08-28 15:33
  • 2663

node.js fs,http 模块用法

1 error: 2 EventEmitter定义了一个特殊的时间error,它包含了‘错误’的语义,当error被发射时,EventEmitter规定如果没有 3 响应的监听器,Node.js会把它当做异常,退出程序并打印调用栈,一般我们要为会发射error事件的对象设置监...
  • luo200618
  • luo200618
  • 2016-08-10 14:44
  • 888

node.js 使用fs模块对系统文件及目录进行读写操作

如果要用这个模块,首先需要引入,fs已经属于node.js自带的模块,所以直接引入即可 var fs = require('fs');1.读取文件readFile方法使用 fs.readFile(filename,[option],callback) 方法读取文件。 ...
  • qq_30100043
  • qq_30100043
  • 2016-10-31 08:36
  • 7799

用fs创建文件

var fs=require("fs"); var file="G:\\WessengerServer(NodeJS)\\gogo.js"; fs.exists(file,function(exists) { if (!exists) { conso...
  • venchia_lu
  • venchia_lu
  • 2015-05-20 17:12
  • 843

Node.js fs模块——读写文件

Node.js 提供一组类似 UNIX(POSIX)标准的文件操作API。Node.js 文件系统(fs 模块)模块中的方法均有异步和同步版本。异步的方法函数最后一个参数为回调函数,回调函数的第一个参数包含了错误信息(error)。建议大家是用异步方法,比起同步,异步方法性能更高,速度更快,而且没有...
  • chy555chy
  • chy555chy
  • 2016-09-18 15:53
  • 1413

FatFS文件系统介绍及使用例程

FATFS是一个为小型嵌入式系统设计的通用FAT(File Allocation Table)文件系统模块。FatFs 的编写遵循ANSI C,并且完全与磁盘I/O层分开。因此,它独立(不依赖)于硬件架构。它可以被嵌入到低成本的微控制器中,如AVR, ...
  • xiaoluoshan
  • xiaoluoshan
  • 2016-06-15 21:54
  • 5487

NodeJS学习笔记之FS文件模块

一,开篇分析 文件系统模块是一个简单包装的标准 POSIX 文件 I/O 操作方法集。可以通过调用 require("fs") 来获取该模块。文件系统模块中的所有方法均有异步和同步版本。 (1),文件系统模块中的异步方法需要一个完成时的回调函数作为最后一个传入形参。 ...
  • z69183787
  • z69183787
  • 2016-05-09 17:24
  • 1118
    个人资料
    • 访问:1425688次
    • 积分:16051
    • 等级:
    • 排名:第794名
    • 原创:468篇
    • 转载:153篇
    • 译文:1篇
    • 评论:151条