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 相关文章推荐
让firefox支持IE的一些方法的javascript扩展函数代码
Jan 02 Javascript
2010年最佳jQuery插件整理
Dec 06 Javascript
from表单多个按钮提交用onclick跳转不同action
Apr 24 Javascript
JS获取图片lowsrc属性的方法
Apr 01 Javascript
input点击后placeholder中的提示消息消失
Jan 15 Javascript
AngularJS通过$location获取及改变当前页面的URL
Sep 23 Javascript
JS控制FileUpload的上传文件类型实例代码
Oct 07 Javascript
js html css实现复选框全选与反选
Oct 09 Javascript
微信小程序 商城开发(ecshop )简单实例
Apr 07 Javascript
AngularJS通过ng-Img-Crop实现头像截取的示例
Aug 17 Javascript
详解Vue中localstorage和sessionstorage的使用
Dec 22 Javascript
node使用promise替代回调函数
May 07 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
肝肠寸断了解下!盘点史上最伤心的十大动漫
2020/03/04 日漫
PHP 无限分类三种方式 非函数的递归调用!
2011/08/26 PHP
PHP设置头信息及取得返回头信息的方法
2016/01/25 PHP
PHP实现类似于C语言的文件读取及解析功能
2017/09/01 PHP
javascript中的toFixed固定小数位数 简单实例分享
2013/07/12 Javascript
SuperSlide标签切换、焦点图多种组合插件
2015/03/14 Javascript
移动端JQ插件hammer使用详解
2015/07/03 Javascript
jquery读写cookie操作实例分析
2015/12/24 Javascript
jQuery实现漂亮实用的商品图片tips提示框效果(无图片箭头+阴影)
2016/04/16 Javascript
跨域资源共享 CORS 详解
2016/04/26 Javascript
浅析JavaScript中的array数组类型系统
2016/07/18 Javascript
Bootstrap基本插件学习笔记之Tooltip提示工具(18)
2016/12/08 Javascript
Vue2.0 从零开始_环境搭建操作步骤
2017/06/14 Javascript
react-router JS 控制路由跳转实例
2017/06/15 Javascript
浅谈angular4.0中路由传递参数、获取参数最nice的写法
2018/03/12 Javascript
Vue中的异步组件函数实现代码
2018/07/20 Javascript
apicloud拉起小程序并传递参数的方法示例
2018/11/21 Javascript
[15:41]教你分分钟做大人——灰烬之灵
2015/03/11 DOTA
[01:59]游戏“zheng”当时试玩会
2019/08/21 DOTA
Python入门篇之列表和元组
2014/10/17 Python
Python脚本实现Web漏洞扫描工具
2016/10/25 Python
Python判断文件和字符串编码类型的实例
2017/12/21 Python
Python 实现数据结构中的的栈队列
2019/05/16 Python
python 实现创建文件夹和创建日志文件的方法
2019/07/07 Python
python将unicode和str互相转化的实现
2020/05/11 Python
使用Pycharm在运行过程中,查看每个变量的操作(show variables)
2020/06/08 Python
CSS3中的transform属性进行2D和3D变换的基本用法
2016/05/12 HTML / CSS
详解Canvas事件绑定
2018/06/27 HTML / CSS
浅谈HTML5中dialog元素尝鲜
2018/10/15 HTML / CSS
气象学专业个人求职信
2014/03/15 职场文书
感恩寄语大全
2014/04/11 职场文书
检讨书1000字
2014/10/11 职场文书
中学推普周活动总结
2015/05/07 职场文书
2015年挂职干部工作总结
2015/05/14 职场文书
工作违纪的检讨书范文
2019/07/09 职场文书
利用python调用摄像头的实例分析
2021/06/07 Python