npm包--fs

引用:https://blog.csdn.net/u013530539/article/details/79073992

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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值