Node.js读取文件内容
2013-07-03 11:24
681 查看
Node.js读取文件内容包括同步和异步两种方式。
1、同步读取,调用的是readFileSync
输出结果,先内容,后end
2、异步读取,调用readFile
同步式读取文件的方式比较容易理解,将文件名作为参数传入 fs.readFileSync 函数,阻塞等待读取完成后,将文件的内容作为函数的返回值赋给 data 变量,接下来控制台输出 data 的值,最后输出 end。
异步式读取文件就稍微有些违反直觉了,end先被输出。要想理解结果,我们必须先知道在 Node.js 中,异步式 I/O 是通过回调函数来实现的。fs.readFile 接收了三个参数,第一个是文件名,第二个是编码方式,第三个是一个函数,我们称这个函数为回调函数。
JavaScript 支持匿名的函数定义方式, 譬如例子中回调函数的定义就是嵌套在fs.readFile 的参数表中的。
上面异步读取readFile中的参数回调函数可以拿出来。
fs.readFile 调用时所做的工作只是将异步式 I/O 请求发送给了操作系统,然后立即返回并执行后面的语句,执行完以后进入事件循环监听事件。当 fs 接收到 I/O 请求完成的事件时,事件循环会主动调用回调函数以完成后续工作。
整个项目文件路径如图所示。tes为要读取的文件。
1、同步读取,调用的是readFileSync
var rf=require("fs"); var data=rf.readFileSync("test","utf-8"); console.log(data); console.log("READ FILE SYNC END");
输出结果,先内容,后end
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,后内容
同步式读取文件的方式比较容易理解,将文件名作为参数传入 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实现逐行读取文件内容的代码
- Node.js 读取TXT文件内容 fs.readFile()
- 【Node.js】'readline' 逐行读取、写入文件内容
- node.js实现逐行读取文件内容的代码
- Node.js readline 逐行读取、写入文件内容的示例
- node.js 读取文件内容
- 【Node.js】'readline' 逐行读取、写入文件内容
- node.js 读取文件内容
- Node.js中读取TXT文件内容fs.readFile()用法
- node.js实现逐行读取文件内容的代码
- Node.js读取文件内容示例
- node.js 读取zip中文件内容
- node.js使用readline按行读取文件内容
- node遍历文件夹并读取文件内容
- js创建并读取txt文件的内容
- 使用js实现读取csv文件内容解析到html页面中
- node.js fs.open 和 fs.write 读取文件和改写文件
- Node.js读写中文内容文件操作
- Node.js读写中文内容文件操作
- 前台JS(type=‘file’)读取本地文件的内容,兼容各种浏览器 二