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 相关文章推荐
解决iframe的frameborder在chrome/ff/ie下的差异
Aug 12 Javascript
JavaScript 处理Iframe自适应高度(同或不同域名下)
Mar 29 Javascript
js判断背景图片是否加载成功使用img的width实现
May 29 Javascript
java与javascript之间json格式数据互转介绍
Oct 29 Javascript
jquery实现侧边弹出的垂直导航
Dec 09 Javascript
js多功能分页组件layPage使用方法详解
May 19 Javascript
Bootstrap表格和栅格分页实例详解
May 20 Javascript
bootstrap的3级菜单样式,支持母版页保留打开状态实现方法
Nov 10 Javascript
vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
Mar 06 Javascript
JS函数节流和函数防抖问题分析
Dec 18 Javascript
vue-cli3+typescript新建一个项目的思路分析
Aug 06 Javascript
解决layui动态添加的元素click等事件触发不了的问题
Sep 20 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
一个简单的自动发送邮件系统(二)
2006/10/09 PHP
php生成文件
2007/01/15 PHP
php后门URL的防范
2013/11/12 PHP
PHP中比较两个字符串找出第一个不同字符位置例子
2014/04/08 PHP
非常实用的php验证码类
2016/05/15 PHP
laravel 修改记住我功能的cookie保存时间的方法
2019/10/14 PHP
jquery 应用代码 方便的排序功能
2010/02/06 Javascript
THREE.JS入门教程(2)着色器-上
2013/01/24 Javascript
JS实现的用来对比两个用指定分隔符分割的字符串是否相同
2014/09/19 Javascript
实例讲解JavaScript中的this指向错误解决方法
2016/06/13 Javascript
第一次接触神奇的Bootstrap表单
2016/07/27 Javascript
利用JS实现简单的日期选择插件
2017/01/23 Javascript
JS设计模式之惰性模式(二)
2017/09/29 Javascript
js用类封装pop弹窗组件
2017/10/08 Javascript
React 使用browserHistory项目访问404问题解决
2018/06/01 Javascript
vue+vue-router转场动画的实例代码
2018/09/01 Javascript
微信小程序indexOf的替换方法(推荐)
2020/01/14 Javascript
vue实现两个区域滚动条同步滚动
2020/12/13 Vue.js
微信小程序学习之自定义滚动弹窗
2020/12/20 Javascript
python备份文件以及mysql数据库的脚本代码
2013/06/10 Python
python逐行读取文件内容的三种方法
2014/01/20 Python
python访问sqlserver示例
2014/02/10 Python
Pycharm学习教程(2) 代码风格
2017/05/02 Python
python八大排序算法速度实例对比
2017/12/06 Python
python实现杨氏矩阵查找
2019/03/02 Python
Python 捕获代码中所有异常的方法
2020/08/03 Python
浅析css3中matrix函数的使用
2016/06/06 HTML / CSS
德购商城:德国进口直邮商城
2017/06/13 全球购物
澳大利亚旅游网站:Lastminute
2017/08/07 全球购物
shell程序中如何注释
2012/02/17 面试题
什么是会话Bean
2015/05/14 面试题
自荐信格式的六要素
2013/09/21 职场文书
英语老师推荐信
2014/02/26 职场文书
2014司机年终工作总结
2014/12/05 职场文书
pytorch 实现在测试的时候启用dropout
2021/05/27 Python
volatile保证可见性及重排序方法
2022/08/05 Java/Android