美文网首页
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