美文网首页
Day11 文件系统

Day11 文件系统

作者: Hathaway_桉 | 来源:发表于2017-06-28 15:51 被阅读0次

<h1>fs模块</h1>
Node.js内置的fs模块就是文件系统模块,负责读写文件。和所有其它JavaScript模块不同的是,fs模块同时提供了异步和同步的方法。

  • 异步读文件
    读取文本文件,文件编码为utf-8,异步读取的时候回调函数接收两个参数。
'use strict'
var fs=require('fs');
fs.readFile('file.txt','utf-8',function(err,data){
  var buf=new Buffer('file.txt','utf-8');
  if(err){
     console.log(err);
  }else{
     console.log(buf);
  }
});

读取一个图片文件

fs.readFile('snail.png',function(err,data){
  if(err){
    console.log(err);
  }else{
    console.log(data.toString('utf-8'));
    console.log(data.length+"bytes");
  }
});
  • 同步读文件
'use strict';

var fs = require('fs');

var data = fs.readFileSync('sample.txt', 'utf-8');
console.log(data);
  • 写文件
'use strict'
var fs=require('fs');
var data='hello,nigel'
fs.writeFile('file.txt',data,function(err){
    if(err){
      console.log(err);
    }else{
      console.log('ok');  
    }
});

*stat
如果我们要获取文件大小,创建时间等信息,可以使用fs.stat(),它返回一个Stat对象,能告诉我们文件或目录的详细信息。

'use strict';

var fs = require('fs');

fs.stat('sample.txt', function (err, stat) {
    if (err) {
        console.log(err);
    } else {
        // 是否是文件:
        console.log('isFile: ' + stat.isFile());
        // 是否是目录:
        console.log('isDirectory: ' + stat.isDirectory());
        if (stat.isFile()) {
            // 文件大小:
            console.log('size: ' + stat.size);
            // 创建时间, Date对象:
            console.log('birth time: ' + stat.birthtime);
            // 修改时间, Date对象:
            console.log('modified time: ' + stat.mtime);
        }
    }
});

改写成对应的同步函数:


相关文章

网友评论

      本文标题:Day11 文件系统

      本文链接:https://www.haomeiwen.com/subject/wiftqxtx.html