fs模块的三个常用方法

1.fs.readFile() -- 读文件

2.fs.writeFile() -- 写文件

3.fa.stat() -- 查看文件信息

fs模块不同于其它模块的地方是它有异步和同步两种方法,其它模块只有异步方法,异步和同步的方法名区别在于同步方法在异步的方法名后面加了"Sync"

1.fs.readFile()

//使用ES的严格模式

"use strict";

//引入fs模块

const fs = require("fs");

fs.readFile("test.txt", "utf-8", function (err, data) {

  //判断文件是否正确读取,err存储着读取时的错误信息

  if(err){

    console.log(err);

  } else {

    //正确读取时打印读取出来的信息

    console.log(data);

  }

});

注:不加第二个参数"utf-8"时data输出的将是一个Buffer对象

可以将Buffer转换成String:data.toString()

String转换成Buffer对象:Buffer.from(data, "uft-8");

test.txt与该js脚本是在同一文件夹下的

上面是异步读取文件的方式,下面是同步读取文件的方式

//判断同步读取是否出错

try{

  let file = fs.readFileSync("test.txt", "utf-8");

  console.log(file);

} catch( err ) {

  //如果出错就打印出出错信息

  console.log(err);

}

2.fs.writeFile()

"use strict";

const fs = require("fs");

fs.writeFile("test.txt", "你要写入的信息", function(err) {

  if(err) {

    console.log(err);

  } else {

    console.log("Write OK!");

  }

});

同步写入文件方法与readFile类似,这里就不赘述了

3.fs.stat()

"use strick";

const fs = require("fs");

fs.stat("test.txt", function(err, stat){

  if(err) {

    console.log(err);
  } else {

    console.log("是否是文件:" + stat.isFile());
    console.log("是否是文件夹:" + stat.isDirectory() );
    if( stat.isFile() ) {

      //输出文件大小
      console.log("文件的大小是:" + stat.size );
      //输出文件的创建日期
      console.log("文件的创建日期是:" + stat.birthtime );
      //输出文件的最近一次修改的日期
      console.log("文件的最近一次修改日期是:" + stat.mtime );
    }
  }

});

同步方法与readFile同步方法类似,不再赘述

不过stat同步方法与异步方法有一些不同的地方

1.stat异步方法使用的时间是你现在所在时区的时间

2.stat同步方法使用的时间是中时区的时间

Node.js 内置模块fs(文件系统)的更多相关文章

  1. Node.js:fs文件系统模块

    fs文件系统模块,这是一个非常重要的模块,对文件的操作都基于它.该模块的所有方法都有同步和异步两种方式,下面便介绍一下该模块的使用. 1.检测当前进程对文件的权限 使用fs.access(path[, ...

  2. node.js中fs文件系统模块的使用

    node.js中为我们提供了fs文件系统模块,实现对文件或目录的创建,修改和删除等操作. fs模块中,所有的方法分为同步和异步两种实现. 有 sync 后缀的方法为同步方法,没有 sync 后缀的方法 ...

  3. Node.js 内置模块fs的readdir方法 查看某个文件夹里面包含的文件内容

    fs.readdir(path[, options], callback) 例: "use strict"; const fs = require("fs"); ...

  4. Node.js之操作文件系统(一)

    Node.js之操作文件系统(一) 1. 同步方法与异步方法 在Node.js中,使用fs模块来实现所有有关文件及目录的创建.写入及删除操作.,在fs模块中,所有对文件及目录的操作都可以使用同步与异步 ...

  5. Node.js之操作文件系统(二)

    Node.js之操作文件系统(二) 1.创建与读取目录 1.1 创建目录 在fs模块中,可以使用mkdir方法创建目录,该方法的使用方法如下: fs.mkdir(path,[mode],callbca ...

  6. 在Node.js中操作文件系统(一)

    在Node.js中操作文件系统 在Node.js中,使用fs模块来实现所有有关文件及目录的创建,写入及删除操作.在fs模块中,所有对文件及目录的操作都可以使用同步与异步这两种方法.比如在执行读文件操作 ...

  7. node.js的fs核心模块读写文件操作 -----由浅入深

    node.js 里fs模块 常用的功能 实现文件的读写 目录的操作 - 同步和异步共存 ,有异步不用同步 - fs.readFile 都不能读取比运行内存大的文件,如果文件偏大也不会使用readFil ...

  8. Node.js使用fs.renameSync报cross-device link not permitted错误

    在Node.js中,我们可以使用formidable模块来轻松地实现文件上传功能,代码如下: var Q = require('q'); var util = require('util'); var ...

  9. 解决Node.js调用fs.renameSync报错的问题(Error: EXDEV, cross-device link not permitted)

    2014-08-23 今天开始学习Node.js,在写一个文件上传的功能时候,调用fs.renameSync方法错误 出错代码所在如下: function upload(response,reques ...

随机推荐

  1. 在MFC中使用大漠插件

    打开Class Wizard,Add Class...->MFC Class From TypeLib... File->Location->>> Finish-> ...

  2. 20170306 处理adobe flash player报错

    网页总是弹出Adobe Flash Player弹窗报错怎么办?打开网页时经常被Adobe Flash Player报错提示框困扰. 其实是因为系统安装了Debug版本的Flash Player,可是 ...

  3. windows与mac共享文件

    实际操作环境是win10实体机与mac10.10虚拟机共享文件. 需要两步操作: 在win10中设置一个共享文件夹: 在mac中点击Finder——窗口左侧的列表——共享的——共享屏幕——输入用户名密 ...

  4. 在dw中 <!----> 和 /**/ 的区别?

    <!-- -->是HTML的注释标签,使用<和>是符合HTML标签语法规则的./* */是CSS和JS的注释标签.两种注释有各自的使用环境,并且不能相互替代.

  5. 绝对定位(absolute)

    绝对定位(absolute),作用是将被赋予此定位方法的对象从文档流中拖出,使用left,right,top, bottom等属性相对于其最接近的一个最有定位设置的父级对象进行绝对定位,如果对象的父级 ...

  6. CodeForces - 385E Bear in the Field —— 矩阵快速幂

    题目链接:https://vjudge.net/problem/CodeForces-385E E. Bear in the Field time limit per test 1 second me ...

  7. CodeForces - 450B Jzzhu and Sequences —— 斐波那契数、矩阵快速幂

    题目链接:https://vjudge.net/problem/CodeForces-450B B. Jzzhu and Sequences time limit per test 1 second ...

  8. html5--4-4 audio元素/格式的转换

    html5--4-4 audio元素/格式的转换 学习要点 掌握audio元素的用法 视频/音频文件的格式转换 当前,audio 元素支持三种音频格式: Ogg 免费, 支持的浏览器:Firefox. ...

  9. 利用Trigger完成WPF 的动画-渐显

    其实渐显很简单,就是改变控件的透明度. WPF提供了Trigger这个东西. 下面是动画代码:   1 2 3 4 5 6 7 8 9 10 11 12 13 <Style x:Key=&quo ...

  10. luogu 3389 【模板】高斯消元

    大概就是对每一行先找到最大的减小误差,然后代入消元 #include<iostream> #include<cstdio> #include<cstring> #i ...