npm包--fs

1/含义

文件系统

2/使用

读取

 
 
readFile(filename,[options],callback);

fs.readFile(__dirname + '/test.txt', { flag: 'r+', encoding: 'utf8'}, function (err, data) { if(err) { console.error(err); return; } console.log(data);});
写文件

 
 
// fs.writeFile(filename,data,[options],callback); var w_data = '这是一段通过fs.writeFile函数写入的内容;\r\n'; var w_data = new Buffer(w_data); /** * filename, 必选参数,文件名 * data, 写入的数据,可以字符或一个Buffer对象 * [options],flag,mode(权限),encoding * callback 读取文件后的回调函数,参数默认第一个err,第二个data 数据 */ fs.writeFile(__dirname + '/test.txt', w_data, { flag: 'a'}, function (err) { if(err) { console.error(err); } else { console.log( '写入成功'); } });
打开文件

 
 
// fs.open(filename, flags, [mode], callback); /** * filename, 必选参数,文件名 * flags, 操作标识,如"r",读方式打开 * [mode],权限,如777,表示任何用户读写可执行 * callback 打开文件后回调函数,参数默认第一个err,第二个fd为一个整数,表示打开文件返回的文件描述符,window中又称文件句柄 */ fs.open(__dirname + '/test.txt', 'r', '0666', function (err, fd) { console.log(fd); });
创建目录

 
 
//使用fs.mkdir创建目录 //fs.mkdir(path, [mode], callback); /** * path, 被创建目录的完整路径及目录名; * [mode], 目录权限,默认0777 * [callback(err)], 创建完目录回调函数,err错误对象 */ fs.mkdir(__dirname + '/fsDir', function (err) { if(err) throw err; console.log( '创建目录成功') });
读取目录

 
 
//使用fs.readdir读取目录,重点其回调函数中files对象 //fs.readdir(path, callback); /** * path, 要读取目录的完整路径及目录名; * [callback(err, files)], 读完目录回调函数;err错误对象,files数组,存放读取到的目录中的所有文件名 */ fs.readdir(__dirname + '/fsDir/', function (err, files) { if(err) { console.error(err); return; } else { files.forEach( function (file) { var filePath = path.normalize(__dirname + '/fsDir/' + file); fs.stat(filePath, function (err, stat) { if(stat.isFile()) { console.log(filePath + ' is: ' + 'file'); } if(stat.isDirectory()) { console.log(filePath + ' is: ' + 'dir'); } }); }); for ( var i = 0; i < files.length; i++) { //使用闭包无法保证读取文件的顺序与数组中保存的致 ( function () { var filePath = path.normalize(__dirname + '/fsDir/' + files[i]); fs.stat(filePath, function (err, stat) { if(stat.isFile()) { console.log(filePath + ' is: ' + 'file'); } if(stat.isDirectory()) { console.log(filePath + ' is: ' + 'dir'); } }); })(); } } });

查看文件和目录是否存在

 
 
//fs.exists(path, callback); /** * path, 要查看目录/文件的完整路径及名; * [callback(exists)], 操作完成回调函数;exists true存在,false表示不存在 */ fs.exists(__dirname + '/te', function (exists) { var retTxt = exists ? retTxt = '文件存在' : '文件不存在'; console.log(retTxt); });
删除空目录

 
 
//fs.rmdir(path, callback); /** * path, 目录的完整路径及目录名; * [callback(err)], 操作完成回调函数;err操作失败对象 */ fs.rmdir(__dirname + '/test', function (err) { fs.mkdir(__dirname + '/test', 0666, function (err) { console.log( '创建test目录'); }); if(err) { console.log( '删除空目录失败,可能原因:1、目录不存在,2、目录不为空') console.error(err); return; } console.log( '删除空目录成功!'); })


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值