三种Node.js写文件的方式
2016-03-08 00:00
621 查看
本文分享了Node.js写文件的三种方式,具体内容和如下
1、通过管道流写文件
采用管道传输二进制流,可以实现自动管理流,可写流不必当心可读流流的过快而崩溃,适合大小文件传输(推荐)
2、手动管理流写入
手动管理流,适合大小文件的处理
3、通过一次性读完数据写入
一次性读取完文件所有内容,适合小文件(不推荐)
以上就是本文的全部内容,希望对大家的学习有所帮助。
用jsp编写文件上载
C#读写文件的方法汇总
php中读写文件与读写数据库的效率比较分享
php中并发读写文件冲突的解决方案
php多用户读写文件冲突的解决办法
Java读写文件创建文件夹多种方法示例详解
python读写文件操作示例程序
c++读写文件流实例程序讲解
1、通过管道流写文件
采用管道传输二进制流,可以实现自动管理流,可写流不必当心可读流流的过快而崩溃,适合大小文件传输(推荐)
var readStream = fs.createReadStream(decodeURIComponent(root + filepath.pathname)); // 必须解码url readStream.pipe(res); // 管道传输 res.writeHead(200,{ 'Content-Type' : contType }); // 出错处理 readStream.on('error', function() { res.writeHead(404,'can not find this page',{ 'Content-Type' : 'text/html' }); readStream.pause(); res.end('404 can not find this page'); console.log('error in writing or reading '); });
2、手动管理流写入
手动管理流,适合大小文件的处理
var readStream = fs.createReadStream(decodeURIComponent(root + filepath.pathname)); res.writeHead(200,{ 'Content-Type' : contType }); // 当有数据可读时,触发该函数,chunk为所读取到的块 readStream.on('data',function(chunk) { res.write(chunk); }); // 出错时的处理 readStream.on('error', function() { res.writeHead(404,'can not find this page',{ 'Content-Type' : 'text/html' }); readStream.pause(); res.end('404 can not find this page'); console.log('error in writing or reading '); }); // 数据读取完毕 readStream.on('end',function() { res.end(); });
3、通过一次性读完数据写入
一次性读取完文件所有内容,适合小文件(不推荐)
fs.readFile(decodeURIComponent(root + filepath.pathname), function(err, data) { if(err) { res.writeHead(404,'can not find this page',{ 'Content-Type' : 'text/html' }); res.write('404 can not find this page'); }else { res.writeHead(200,{ 'Content-Type' : contType }); res.write(data); } res.end(); });
以上就是本文的全部内容,希望对大家的学习有所帮助。
您可能感兴趣的文章:
用JSP编写文件上传用jsp编写文件上载
C#读写文件的方法汇总
php中读写文件与读写数据库的效率比较分享
php中并发读写文件冲突的解决方案
php多用户读写文件冲突的解决办法
Java读写文件创建文件夹多种方法示例详解
python读写文件操作示例程序
c++读写文件流实例程序讲解
相关文章推荐
- Node.js笔记之模块机制
- [C语言][LeetCode][19]Remove Nth Node From End of List
- leetcode:Populating Next Right Pointers in Each Node II 【Java】
- 237. Delete Node in a Linked List
- leetcode:Populating Next Right Pointers in Each Node 【Java】
- 237. Delete Node in a Linked List
- 小明去银行取钱了(同步异步、阻塞与非阻塞)
- nodeclub 学习记录
- Adjacent Node Sum (图的邻接表表示 C语言)
- node.js
- LeetCode : Remove Nth Node From End of List [java]
- [nodejs] 格式化日期、ejs模板引擎改变.ejs为.html、mongoose查询所有
- Node.js写文件的三种方法
- node.js文件图片上传
- 利用doker快速搭建node.js运行环境
- Adjacent Node Sum(邻接表处理)
- Hadoop namenode 不能启动解决方案
- 手把手教你做爬虫---基于NodeJs
- Wow6432Node
- 【nodejs】npm常用命令