NodeJs——文件I/O(二)


一,删除文件


//面对一堆垃圾的文件总是有想删除的冲动,我有强迫症?你才有呢。
//好在有unlink函数,终于得救了,示例如下:
//例:fs.unlink(文件,回调函数(err));

var fs = require('fs');
 
fs.unlink('/etc/passwdNew', function(err) {
  if (err) throw err;
  console.log('successfully deleted');
});


NodeJs——文件I/O(二)



二,创建目录


/*
	fs.mkdir(路径,权限,回调函数(err));
    
    参数:
		路径:新创建的目录。
		权限:可选参数,只在linux下有效,表示目录的权限,默认为0777,表示文件所有者、文件所有者所在的组			的用户、所有用户,都有权限进行读、写、执行的操作。
		回调函数:当发生错误时,错误信息会传递给回调函数的err参数。
*/
var fs = require('fs');  
fs.mkdir('creatdir',0777,function(err){
	if (err) throw err;  
  	console.log('succeed make dir');
});


NodeJs——文件I/O(二)


三,删除目录


/*
	删除目录也是必不可少的功能,rmdir函数可以删除指定的目录:

	例:fs.rmdir(路径,回调函数(err));
*/
var fs = require('fs');
 
fs.rmdir('creatdir', function(err) {
  if (err) throw err;
  console.log('ok');
});


NodeJs——文件I/O(二)


四,读取目录



//readdir函数可以读取到指定目录下所有的文件,示例如下:
var fs = require('fs');
 
fs.readdir('/etc',function(err,files){
	if(err) throw err;
  	console.log(files);
});

//回调函数 (callback) 接受两个参数 (err, files) 其中 files 是一个存储目录中所包含的文件名称的数组,数组中不包括 '.' 和 '..'。



NodeJs——文件I/O(二)





小结:


    fs模块不但提供异步的文件操作,还提供相应的同步操作方法,需要指出的是,nodejs采用异步I/O正是为了避免I/O时的等待时间,提高CPU的利用率,所以在选择使用异步或同步方法的时候需要权衡取舍。