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. 在Mac OS中配置CMake的详细图文教程http://blog.csdn.net/baimafujinji/article/details/78588488

    CMake是一个比make更高级的跨平台的安装.编译.配置工具,可以用简单的语句来描述所有平台的安装(编译过程).并根据不同平台.不同的编译器,生成相应的Makefile或者project文件.本文主 ...

  2. 【BZOJ3007】拯救小云公主 二分+几何+对偶图

    [BZOJ3007]拯救小云公主 Description     英雄又即将踏上拯救公主的道路……     这次的拯救目标是——爱和正义的小云公主.     英雄来到boss的洞穴门口,他一下子就懵了 ...

  3. Java开发面试题

  4. asp.net 列表控件

    web空间类都被放置在System.Web.UI.WebControls命名空间下1.ListBox  ListBox控件用于创建多选的下拉列表,而可选项是通过ListItem元素来定义的.示例代码如 ...

  5. Oracle 11gR2 使用RMAN Duplicate复制数据库

    Oracle 11gR2 使用RMAN Duplicate复制数据库     前言:     上周刚做完一个项目,用户要求RAC的数据库可以自己主动备份到另外一个单节点上,单节点可以正常拿起来就能用. ...

  6. 人生苦短之Python文件的IO操作

    在Python中也有涉及到文件的相关操作,从最简单的文件读取说起 文件读取 file = open('/Users/macbookpro/Desktop/使用教程.txt', 'r', encodin ...

  7. 最基本PSO算法的C++实现

    按照James Kennedy & Russell Eberhart (1995)的版本,算法过程如下: [x*] = PSO() P = Particle_Initialization(); ...

  8. [HAOI 2010] 计数

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2425 [算法] 类似与数位动态规划的思想 , 用组合数学进行简单推导即可 时间复杂度 ...

  9. Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。

    从浏览器中创建 XMLHttpRequests 从 node.js 创建 http 请求 支持 Promise API 拦截请求和响应 转换请求数据和响应数据 取消请求 自动转换 JSON 数据 客户 ...

  10. mongodb replica set 配置高性能多服务器详解

    mongodb的多服务器配置,以前写过一篇文章,是master-slave模式的,请参考:详解mongodb 主从配置.master-slave模式,不能自动实现故障转移和恢复.所以推荐大家使用mon ...