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 相关文章推荐
JAVASCRIPT HashTable
Jan 22 Javascript
js 表格隔行颜色
Dec 02 Javascript
自写的一个jQuery圆角插件
Oct 26 Javascript
javascript字符串拼接的效率问题
Dec 25 Javascript
javascript面向对象之二 命名空间
Feb 08 Javascript
node.js中的fs.existsSync方法使用说明
Dec 17 Javascript
jQuery EasyUI Tab 选项卡问题小结
Aug 16 Javascript
Bootstrap基本组件学习笔记之进度条(15)
Dec 08 Javascript
JS实现的简单拖拽购物车功能示例【附源码下载】
Jan 03 Javascript
vue-cli结合Element-ui基于cropper.js封装vue实现图片裁剪组件功能
Mar 01 Javascript
jQuery实现基本隐藏与显示效果的方法详解
Sep 05 jQuery
vue如何实现关闭对话框后刷新列表
Apr 08 Vue.js
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
几个比较经典常用的jQuery小技巧
2010/03/01 Javascript
用jQuery打造TabPanel效果代码
2010/05/22 Javascript
JS定时关闭窗口的实例
2013/05/22 Javascript
jquery导航制件jquery鼠标经过变色效果示例
2013/12/05 Javascript
jquery插件开发之实现google+圈子选择功能
2014/03/10 Javascript
页面刷新时记住滚动条的位置jquery代码
2014/06/17 Javascript
JavaScript将数字转换成大写中文的方法
2015/03/23 Javascript
JS跨域交互(jQuery+php)之jsonp使用心得
2016/07/01 Javascript
移动适配的几种方案(三种方案)
2016/11/25 Javascript
html判断当前页面是否在iframe中的实例
2016/11/30 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图和饼图的组合图效果示例【附demo源码下载】
2017/03/09 Javascript
本地搭建微信小程序服务器的实现方法
2017/10/27 Javascript
快速了解vue-cli 3.0 新特性
2018/02/28 Javascript
微信小程序实现跑马灯效果
2020/10/21 Javascript
浅谈Ant Design Pro 菜单自定义 icon
2020/11/17 Javascript
python利用正则表达式提取字符串
2016/12/08 Python
Python实现的矩阵类实例
2017/08/22 Python
python使用xslt提取网页数据的方法
2018/02/23 Python
pygame游戏之旅 创建游戏窗口界面
2018/11/20 Python
python3 cvs将数据读取为字典的方法
2018/12/22 Python
python3在同一行内输入n个数并用列表保存的例子
2019/07/20 Python
使用python采集Excel表中某一格数据
2020/05/14 Python
基于Tensorflow读取MNIST数据集时网络超时的解决方式
2020/06/22 Python
python 下划线的不同用法
2020/10/24 Python
英格兰橄榄球商店:England Rugby Store
2016/12/17 全球购物
美国滑板店:Tactics
2020/11/08 全球购物
写自荐信有哪些不宜?
2013/10/17 职场文书
直接有效的自我评价
2014/01/11 职场文书
新学期班主任寄语
2014/01/18 职场文书
七年级政治教学反思
2014/02/03 职场文书
2014基层党员干部学习全国两会心得体会
2014/03/17 职场文书
小学校长汇报材料
2014/08/20 职场文书
2015年学习部工作总结范文
2015/03/31 职场文书
运动会三级跳加油稿
2015/07/21 职场文书
《搭石》教学反思
2016/02/18 职场文书
写一个Python脚本自动爬取Bilibili小视频
2021/04/24 Python