zoukankan      html  css  js  c++  java
  • Node文件操作简单api

    文件读取和写入

    没有声明encoding,所以返回的是buffer(二进制数据), 声明了encoding,所以返回的是普通字符串

    同步读取

    • 无声明encoding
     fs.readFileSync(filename);
    
    
    • 声明了encoding
     fs.readFileSync(filename,{encoding: 'utf-8'})
    
    • 异常处理

    // 文件读取异常处理:通过try、catch

    try{
        var errStr = fs.readFileSync('noneExist.txt');
    }catch(err){
        console.log(err.message);  // 输出 ENOENT, no such file or directory 'noneExist.txt'
    }
    

    文件异步读取

    • 无声明encoding
    fs.readFile('test.txt', function(err, data){
        if(err){
            console.log('文件读取失败');
        }else{
            console.log(data);  // 输出 <Buffer 68 65 6c 6c 6f 0a>
        }
    });
    
    • 声明了encoding
    fs.readFile('test.txt', {encoding: 'utf-8'}, function(err, data){
        if(err){
            console.log('文件读取失败');
        }else{
            console.log(data);  // 输出 hello
        }
    });
    
    • 异常处理
    fs.readFile('noneExist.txt', {encoding: 'utf-8'}, function(err, data){
        if(err){
            console.log('文件读取失败');  // 输出 文件读取失败
        }else{
            console.log(data);
        }
    });
    

    文件写入函数

    1. 同步 fs.writeFileSync
    2. 异步 fs.writeFile

    同步写入

     fs.writeFileSync(filename, data, [options])
    
    data 
    
    要往文件里写的内容,可以是字符串,也可以是二进制数据。当为二进制数据时候,options.encoding 会被忽略
     * {Object}    options
     * {String} options.encoding 编码,默认是utf8
     * {Number} options.mode=438 模式
     * {String} options.flag=w 写文件的模式
    
    
    • 覆盖写入
    fs.writeFile('1.txt', '文件已存在,则覆盖内容 -- '+(new Date()-0));
    
    
    • 往已经存在的文件里追加内容
    fs.writeFile('1.txt', '
    文件已存在,并追加内容 -- '+(new Date()-0), {
        flag: 'a'
    });
    

    异步写入

    fs.writeFile('1.txt', '
    文件已存在,并追加内容 -- '+(new Date()-0), {
        flag: 'a'
    }, function(err){
        if(err) throw err;
        console.log('exists.txt已存在,内容被覆盖!');
    });
    

    文件信息

    • 同步
    var fs = require('fs');
    var statInfo = fs.statSync('node.md');
    console.log(statInfo);
    
    • 异步

    fs.stat(path, [callback(err, stats)])

    var fs = require('fs');
    fs.stat('content.txt', function(err, stats){
     if(err){
      throw err;
     }else{
      console.log(stats);
     }
    })
    
    { dev: 681374970,
      mode: 33206,
      nlink: 1,
      uid: 0,
      gid: 0,
      rdev: 0,
      blksize: undefined,
      ino: 1125899908220272,
      size: 2499,
      blocks: undefined,
      atime: 2017-10-25T03:46:03.093Z,
      mtime: 2017-10-25T04:19:43.198Z,
      ctime: 2017-10-25T04:19:43.198Z,
      birthtime: 2017-10-25T03:46:03.093Z }
    
  • 相关阅读:
    Java项目远程调试
    Linux虚拟机安装
    研究Quarkus出现的各种错误集锦
    debian 安装 ifconfig ping
    adb shell pm list packages 高级用法
    2020年深港澳金融科技师专才计划一级考试报名简章
    k8s组件
    查询Kubernetes中etcd数据
    curl
    kubelet
  • 原文地址:https://www.cnblogs.com/oneboi/p/7728286.html
Copyright © 2011-2022 走看看