node的文件读取fs

今天学习了node.js的内置对象fs使用方法,所以积累一下心德。。。。

node的文件读取分为同步读取(readFileSync)和异步读取(readFile)

同步和异步的区别所在:

 \circ  同步,当发起一个调用时,在没有获取结果之前,调用不会返回,直到获取结果。事一件 一  件做,做完一件再做下一件。

\circ 异步,当发起一个调用时,在没有获取结果之前,调用就返回了,调用者并不会立即得到结果,而是被调用者通知调用者。通过回调函数处理结果。

同步读取:readFileSync

方法:fs.readFileSync(path[,option]) 

例子:

// const fs = require('fs');//

//读取当前文件的内容,设置了编码为utf8//

//readFileSync是同步方法,当node执行到此行代码的时候,整个程序等待文件读取完毕后,再往后执行

 var fileContent = fs.readFileSync(__filename,

         {

              encoding:'utf8'

 })

console.log(fileContent)

运行结果:

const fs = require('fs');

//读取当前文件的内容,设置了编码为utf8 //readFileSync是同步方法,当node执行到此行代码的时候,整个程序等待文件读取完毕后,再往后执行 var fileContent = fs.readFileSync(__filename,{ encoding:'utf8' }) console.log(fileContent)

大家可以看出node的运行结果是以字符串的性质,将本文件的代码运行出来,它运行的顺序是将fileContent的结果得出来,在输出fileContent的结果

异步读取:readFile(path[,options],callback)

方法:fs.readFile(path[, options], callback)

例子:

const fs = require('fs');

const path = require('path');

let indexJSFileName = path.join(__dirname,'index.js');

fs.readFile(indexJSFileName,{ encoding:'utf8'},function(err,data){

    console.log('文件读取完毕,执行回调函数')

      if(err){ console.log('文件读取出现异常'+err)

        }else{

           console.log('文件读取成功'+data)

         }

})

console.log('主线程继续执行......')

这里使用的是读取本文件夹中的其他的文件,使用的是异步读取的方法

运行结果:

主线程继续执行......

/Users/apple/Desktop/node/demo2/index.js

文件读取完毕,执行回调函数 文件读取成功

module.exports = { show:function(){ console.log('show index.js') } }

根据运行结果,我们可以看出node执行本代码的顺序是先输出console.log("主线程继续执行"),然后在执行的是本文件加下的index.js里面的内容,这便是异步执行


说到这里你应该对同步和异步读取文件有一些了解,如果有什么问题,欢迎指出哟

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Node.js 常用工具 util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心JavaScr...
    FTOLsXD阅读 654评论 0赞 2
  • 文件系统模块是一个封装了标准的 POSIX 文件 I/O 操作的集合。通过require('fs')使用这个模块。...
    保川阅读 972评论 0赞 0
  • 个人入门学习用笔记、不过多作为参考依据。如有错误欢迎斧正 目录 简书好像不支持锚点、复制搜索(反正也是写给我自己看...
    kirito_song阅读 2,702评论 1赞 37
  • 一、核心模块和对象 核心模块的意义 常用内置模块path:处理文件路径fs:操作文件系统child_process...
    EndEvent阅读 4,558评论 0赞 1
  • //公共引用 varfs =require('fs'), path =require('path'); 1、读取文...
    才気莮孒阅读 908评论 0赞 1

友情链接更多精彩内容