Node.js读取文件内容示例


Posted in Javascript onMarch 07, 2017

Node.js读取文件内容包括同步和异步两种方式。

1、同步读取,调用的是readFileSync

var rf=require("fs"); 
var data=rf.readFileSync("test","utf-8"); 
console.log(data); 
console.log("READ FILE SYNC END");

输出结果,先内容,后end

Node.js读取文件内容示例

2、异步读取,调用readFile

var rf=require("fs"); 
rf.readFile("test",'utf-8',function(err,data){ 
  if(err){ 
    console.log("error"); 
  }else{ 
    console.log(data); 
  } 
}); 
console.log("READ FILE ASYNC END");

输入结果先end,后内容

Node.js读取文件内容示例

同步式读取文件的方式比较容易理解,将文件名作为参数传入 fs.readFileSync 函数,阻塞等待读取完成后,将文件的内容作为函数的返回值赋给 data 变量,接下来控制台输出 data 的值,最后输出 end。

异步式读取文件就稍微有些违反直觉了,end先被输出。要想理解结果,我们必须先知道在 Node.js 中,异步式 I/O 是通过回调函数来实现的。fs.readFile 接收了三个参数,第一个是文件名,第二个是编码方式,第三个是一个函数,我们称这个函数为回调函数。

JavaScript 支持匿名的函数定义方式, 譬如例子中回调函数的定义就是嵌套在fs.readFile 的参数表中的。
上面异步读取readFile中的参数回调函数可以拿出来。

var rf=require("fs"); 
function callBack(err,data){ 
  if(err){ 
    console.log("error"); 
  }else{ 
    console.log(data); 
  } 
} 
rf.readFile("test","utf-8",callBack); 
console.log("READ FILE ASYNC END");

fs.readFile 调用时所做的工作只是将异步式 I/O 请求发送给了操作系统,然后立即返回并执行后面的语句,执行完以后进入事件循环监听事件。当 fs 接收到 I/O 请求完成的事件时,事件循环会主动调用回调函数以完成后续工作。

整个项目文件路径如图所示。tes为要读取的文件。

Node.js读取文件内容示例

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
解决使用attachEvent函数时,this指向被绑定的元素的问题的方法
Aug 13 Javascript
详解js的延迟对象、跨域、模板引擎、弹出层、AJAX【附实例下载】
Dec 19 Javascript
微信小程序 es6-promise.js封装请求与处理异步进程
Jun 12 Javascript
js实现多张图片延迟加载效果
Jul 17 Javascript
JavaScript模拟实现自由落体效果
Aug 28 Javascript
js中位运算的运用实例分析
Dec 11 Javascript
VUE搭建手机商城心得和遇到的坑
Feb 21 Javascript
Vee-validate 父组件获取子组件表单校验结果的实例代码
May 20 Javascript
vue $set 给数据赋值的实例
Nov 09 Javascript
vue 微信扫码登录(自定义样式)
Jan 06 Javascript
使用JavaScript实现网页秒表功能(含开始、暂停、继续、重置功能)
Jun 05 Javascript
EXTJS7实现点击拖拉选择文本
Dec 17 Javascript
JQuery查找子元素find()和遍历集合each的方法总结
Mar 07 #Javascript
AngularJS的Filter的示例详解
Mar 07 #Javascript
js上下视差滚动简单实现代码
Mar 07 #Javascript
js实现下一页页码效果
Mar 07 #Javascript
原生JS中slice()方法和splice()区别
Mar 06 #Javascript
浅析vue component 组件使用
Mar 06 #Javascript
js常用的继承--组合式继承
Mar 06 #Javascript
You might like
非常好用的两个PHP函数 serialize()和unserialize()
2012/02/04 PHP
用穿越火线快速入门php面向对象
2012/02/22 PHP
微信公众号实现会员卡领取功能
2017/06/08 PHP
PHP Redis扩展无法加载的问题解决方法
2019/08/22 PHP
Javascript 获取链接(url)参数的方法
2009/02/15 Javascript
js arguments对象应用介绍
2012/11/28 Javascript
判断javascript的数据类型(示例代码)
2013/12/11 Javascript
javascript中的原型链深入理解
2014/02/24 Javascript
jquery 表格排序、实时搜索表格内容(附图)
2014/05/19 Javascript
js图片跟随鼠标移动代码
2015/11/26 Javascript
js实现百度搜索提示框
2017/02/05 Javascript
纯JS实现图片验证码功能并兼容IE6-8(推荐)
2017/04/19 Javascript
Vue 项目部署到服务器的问题解决方法
2017/12/05 Javascript
基于IView中on-change属性的使用详解
2018/03/15 Javascript
vue实现tab切换外加样式切换方法
2018/03/16 Javascript
vue中实现图片和文件上传的示例代码
2018/03/16 Javascript
Javascript Promise用法详解
2018/05/10 Javascript
JS通过ajax + 多列布局 + 自动加载实现瀑布流效果
2019/05/30 Javascript
js+canvas实现简单扫雷小游戏
2021/01/22 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
2021/02/25 Javascript
利用Python破解验证码实例详解
2016/12/08 Python
python如何为被装饰的函数保留元数据
2018/03/21 Python
python opencv实现旋转矩形框裁减功能
2018/07/25 Python
Python模拟简单电梯调度算法示例
2018/08/20 Python
python实现的爬取电影下载链接功能示例
2019/08/26 Python
python nmap实现端口扫描器教程
2020/05/28 Python
keras得到每层的系数方式
2020/06/15 Python
CSS3制作精致的照片墙特效
2016/06/07 HTML / CSS
意大利奢侈品多品牌集合店:TheDoubleF
2019/08/24 全球购物
师恩难忘教学反思
2014/04/27 职场文书
办公室主任四风问题对照检查材料思想汇报
2014/09/28 职场文书
信贷客户经理岗位职责
2015/04/09 职场文书
离职员工给领导和同事的感谢信
2015/11/03 职场文书
小学教师暑期培训心得体会
2016/01/09 职场文书
研究生学习计划书应该怎么写?
2019/09/10 职场文书
详细聊聊浏览器是如何看闭包的
2021/11/11 Javascript