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. Spring中的面向切面编程(AOP)简介

    一.什么是AOP AOP(Aspect-Oriented Programming, 面向切面编程): 是一种新的方法论, 是对传统 OOP(Object-Oriented Programming, 面 ...

  2. mybatis入门(十)

    mybatis和hibernate本质区别和应用场景 hibernate:是一个标准ORM框架(对象关系映射).入门门槛较高的,不需要程序写sql,sql语句自动生成了. 对sql语句进行优化.修改比 ...

  3. Javascript学习之正则表达式详解

       什么是正则表达式(regular expreSSion) 正则表达式是一个描述字符模式的对象. 可以处理更复杂的字符串 JavaScript中的正则表达式使用RegExp对象表示 正则表达式用于 ...

  4. margin在块元素、内联元素中的区别 padding

    (1)margin在块元素.内联元素中的区别 HTML(这里说的是html标准,而不是xhtml)里分两种基本元素,即block和inline.顾名思义,block元素就是以”块”表现的元素(bloc ...

  5. 转载的C#学习笔记

    转载地址:http://www.cnblogs.com/renyanlei/p/4075065.html 最近在一个培训机构里面教授Net知识.每天都会带领学生学习c#知识.我希望把每天学习的笔记记录 ...

  6. Idea中的插件-列出Java Bean的所有set方法

    插件的git 地址: https://github.com/yoke233/genSets 将插件jar导入idea中,使用方式是对象后加.allset,然后回车.

  7. 【概念】SVG(1)

    ok,我们讲讲svg 学习前提:懂HTML和基本的XML SVG简介: 1.SVG全称Scable Vector Graphic,可伸缩的矢量图 2.SVG用于定义针对于Web的基于矢量的图形 3.S ...

  8. MongoDB 复制集节点增加移除及节点属性配置

    复制集(replica Set)或者副本集是MongoDB的核心高可用特性之一,它基于主节点的oplog日志持续传送到辅助节点,并重放得以实现主从节点一致.再结合心跳机制,当感知到主节点不可访问或宕机 ...

  9. 深入理解java虚拟机---->java内存区域与内存溢出异常

    2. java内存区域于内存溢出异常 2.1 概述: 对于C/C++而言,内存管理具有最高的权利,既拥有每一个对象的“所有权”,又担负着每一个对象生命开始到结束的维护责任. 对于java而言,则把内存 ...

  10. Map容器线程安全问题

    一.HashMap在非线程安全的环境下使用会出现什么样的问题? public class HashMapMultiThread { static Map<String,String> ma ...