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. 我们将要建立的EasyDarwin开源社区

    从12年12月我开始建立EasyDarwin开源项目,已经三年多的时间了,从开始最简单的一个开源流媒体服务器项目,如今已经发展成为目前国内最大的一个流媒体开源社区,截至目前已经有十几个项目在Githu ...

  2. java手写单例模式

    1 懒汉模式 public class Singleton { private Singleton singleton = null; private Singleton() { } public S ...

  3. 从 Spring Cloud 看一个微服务框架的「五脏六腑」(转)

    Spring Cloud 是一个基于 Spring Boot 实现的微服务框架,它包含了实现微服务架构所需的各种组件. 本文将从 Spring Cloud 出发,分两小节讲述微服务框架的「五脏六腑」: ...

  4. CentOS-7-64bit 下为firefox安装flashplayer

    最近更新了Centos 7 还是有一些不习惯的 给ff安flashplayer插件时,按centos 6.x的方法时都无法成功,后来find了一下,才知道firefox还有一个64bit的文件夹: 解 ...

  5. Vue的watch和computed属性

    Vue的watch属性 Vue的watch属性可以用来监听data属性中数据的变化 <!DOCTYPE html> <html> <head> <meta c ...

  6. 往android的内核添加驱动及 ueventd.rc 修改【转】

    本文转载自:http://blog.csdn.net/lkqboy2599/article/details/8350100 向android的内核添加驱动,其实就是向linux内核添加驱动.主要在两个 ...

  7. hadoop集群部署后,遇到的问题记录

    1.  部署完,启动集群后,mapred-site.xml文件中配置没有生效 <property> <name>mapred.job.tracker</name> ...

  8. ffmpeg 中av_rescale_rnd 的含义

    http://blog.csdn.net/fireroll/article/details/8485482 一.函数声明: int64_t av_rescale_rnd(int64_t a, int6 ...

  9. Django_model基础

    Django-model基础   ORM 映射关系: 表名 <-------> 类名 字段 <-------> 属性 表记录 <------->类实例对象 创建表( ...

  10. c#设置系统时间后不起作用

    网上设置系统时间的代码很多,但是会出现设置后没有作用的问题 遇到以上问题可以按照如下办法解决 1.项目--属性--安全性--勾选启用ClickOne安全设置,如下图所示: 2.打开app.manife ...