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代码编写中各种各样的坑和填坑方法
Jun 06 Javascript
Jquery仿IGoogle实现可拖动窗口示例代码
Aug 22 Javascript
node中socket.io的事件使用详解
Dec 15 Javascript
JQuery中serialize()用法实例分析
Feb 06 Javascript
javascript原生ajax写法分享
Apr 10 Javascript
jQuery实现基本淡入淡出效果的方法详解
Sep 05 jQuery
angular6 利用 ngContentOutlet 实现组件位置交换(重排)
Nov 02 Javascript
vue子组件改变父组件传递的prop值通过sync实现数据双向绑定(DEMO)
Feb 01 Javascript
vue 使用 vue-pdf 实现pdf在线预览的示例代码
Apr 26 Javascript
vue中element 的upload组件发送请求给后端操作
Sep 07 Javascript
OpenLayers实现图层切换控件
Sep 25 Javascript
Vue 简单实现前端权限控制的示例
Dec 25 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
PHP array_push 数组函数
2009/12/26 PHP
redis+php实现微博(一)注册与登录功能详解
2019/09/23 PHP
JavaScript中SQL语句的应用实现
2010/05/04 Javascript
JavaScript的Polymer框架中dom-repeat与VM的相关操作
2015/07/29 Javascript
vue如何从接口请求数据
2017/06/22 Javascript
JavaScript实现五子棋游戏的方法详解
2019/07/08 Javascript
React Native 混合开发多入口加载方式详解
2019/09/23 Javascript
vue双击事件2.0事件监听(点击-双击-鼠标事件)和事件修饰符操作
2020/07/27 Javascript
[17:45]DOTA2 HEROES教学视频教你分分钟做大人-军团指挥官
2014/06/11 DOTA
Python实现Windows上气泡提醒效果的方法
2015/06/03 Python
使用python在本地电脑上快速处理数据
2017/06/22 Python
详解 Python 与文件对象共事的实例
2017/09/11 Python
使用python验证代理ip是否可用的实现方法
2018/07/25 Python
python斐波那契数列的计算方法
2018/09/27 Python
Numpy截取指定范围内的数据方法
2018/11/14 Python
解决python3 HTMLTestRunner测试报告中文乱码的问题
2018/12/17 Python
pycharm配置git(图文教程)
2019/08/16 Python
详解用Pytest+Allure生成漂亮的HTML图形化测试报告
2020/03/31 Python
浅析Python面向对象编程
2020/07/10 Python
python实现图像外边界跟踪操作
2020/07/13 Python
用python实现一个简单计算器(完整DEMO)
2020/10/14 Python
全面总结使用CSS实现水平垂直居中效果的方法
2016/03/10 HTML / CSS
自定义html标记替换html5新增元素
2008/10/17 HTML / CSS
Lookfantastic德国官网:英国知名美妆购物网站
2017/06/11 全球购物
Windows和Linux动态库应用异同
2016/04/17 面试题
机械设计职业生涯规划书
2013/12/27 职场文书
精通CAD能手自荐书
2014/01/31 职场文书
反腐倡廉演讲稿
2014/05/22 职场文书
车间安全生产标语
2014/06/06 职场文书
新品发布会策划方案
2014/06/08 职场文书
运动会班级口号
2014/06/09 职场文书
纪检干部现实表现材料
2014/08/21 职场文书
领导班子整改措施
2014/10/24 职场文书
2015年八一建军节活动总结
2015/03/20 职场文书
2016年教师节贺卡寄语
2015/12/04 职场文书
python中validators库的使用方法详解
2022/09/23 Python