1-2 nodejs小节 文件读取
1、表达式
在命令行输入 node回车后,可以在后边输入相应的表达式,进行运算操作
2、阻塞文件读取
var data=fs.readFileSync('input.txt', 'utf-8');
3、非阻塞文件读取
fs.readFile('input.txt',function(err,data){if(err){console.log(err);}else{console.log(data.toString());}});
4、将文件写入缓冲区
var buf=new Buffer('伍姣龙', 'utf-8');//一个汉子在 utf-8下占3个字节console.log(buf.length);//9console.log(buf.toString());//伍姣龙console.log(buf.toJSON(buf));//[ 228, 188, 141, 229, 167, 163, 233, 190, 153 ]
var events=require('events');//实例化EventLitter对象var eventEmitter=new events.EventEmitter();eventEmitter.addListener('connection',function(){console.log('连接陈宫2!');});eventEmitter.addListener('connection',function(){console.log('连接陈宫3');});eventEmitter.on('connection',function(){console.log('连接成功1');//触发 data_receivedeventEmitter.emit('data_received');});eventEmitter.on('data_received',function(){console.log('数据接收成功');});//触发事件eventEmitter.emit('connection');console.log('程序执行完毕');
var fs=require('fs');var zlib=require('zlib');//文件解压缩模块var read=function(){var data='';var readerStream=fs.createReadStream('input.txt','utf-8');//当有数据时触发readerStream.on('data',function(chunk){console.log('正在读取数据');data+=chunk;});//文件没有更多数据时候触发readerStream.on('end',function(){console.log('数据读取完毕:'+data);});//在接受和写入过程出错时触发readerStream.on('error',function(err){console.log(err.stack);});}
var write=function(){//创建写入流var writeStream=fs.createWriteStream('output.txt');var data='我是一个好孩子';writeStream.write(data,'utf-8');writeStream.end();writeStream.on('finish',function(){console.log('写入完成');});writeStream.on('error',function(err){console.log(err.stack);});console.log('程序执行完成');}
var gdStream=function(){var readerStream=fs.createReadStream('input.txt');var writeStream=fs.createWriteStream('output.txt');readerStream.pipe(writeStream);console.log('程序执行完成');}
/链式流创建压缩文件var gZipStream=function(){//var fs=require('fs');fs.createReadStream('input.txt').pipe(zlib.createGzip()).pipe(fs.createWriteStream('input.txt.gz'));}//gZipStream();//解压文件var gunZip=function(){fs.createReadStream('input.txt.gz').pipe(zlib.createGunzip()).pipe(fs.createWriteStream('input2.txt'));}gunZip();
var http=require('http');var server=http.createServer(function(req,res){var body='hello word';res.setHeader('Content-Length',body.length);res.setHeader('Content-Type','text/plain');res.statusCode=302;res.end(body);});server.listen(3000);
1-2 nodejs小节 文件读取的更多相关文章
- NodeJS文件读取:感恩常在--抓把糖果,愉悦客人
通过上一篇文章“NodeJS服务器:一行代码 = 一个的HTTP服务器”,我们已经开启了NodeJS之旅,开发了一个监听在8000端口的HTTP服务器,虽然功能很简单,但是,已经让我们感受到用Node ...
- NodeJs之文件上传
NodeJs之文件上传 一,介绍与需求 1.1,介绍 1,multer模块 multer用于处理文件上传的nodejs中间件,主要跟express框架搭配使用,只支持表单MIME编码为multipar ...
- NodeJS遍历文件生产文件列表
本文实例讲述了NodeJS遍历文件生产文件列表功能.分享给大家供大家参考,具体如下: 功能需求:在工作中我们可能经常需要知道项目中静态文件列表发布,一个一个去检索写,那就太苦逼了. 要想知道里面的文件 ...
- 使用 nodejs 对文件进行批量重命名
0. 前言 从B站下载了一点视频,硕鼠自动将标题添加到了每个文件名的前面,导致文件名过长,不方面查看文件的具体内容. 虽然只有二十几个文件,但是手动删除前缀还是个不小的工作量,还有可能删除错误.考虑到 ...
- java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...
- php xml 文件读取 XMLReader
php xml 文件读取 <?php /** $xmlString = '<xml> <persons count="10"> <person ...
- 详解Js中文件读取机制
前言,文件读取是提高应用体验度的必须接口,应用场景中需求很频繁. Js处理文件读取,由于处于安全方面的考虑,在2000年以前,都是以“<input type="file"&g ...
- C# 文件操作 把文件读取到字节数组
string zipfile = "c:\\a.zip"; //方法1 FileStream fs = new FileStream(zipfile, FileMode.Open) ...
- H5学习系列之文件读取API--本文转自http://blog.csdn.net/jackfrued/article/details/8967667
HTML5定义了FileReader作为文件API的重要成员用于读取文件,根据W3C的定义,FileReader接口提供了读取文件的方法和包含读取结果的事件模型. FileReader的使用方式非常简 ...
随机推荐
- javascript的canvas绘图的基本用法
<canvas>是HTML里面非常强大的元素,利用它结合js可以实现很多动画效果,大大增强交互性.下面,我想用图文并茂的方式阐述一下canvas的绘图机制的基础内容,话不多说,先上代码: ...
- 【Win 10 应用开发】打印UI元素
Windows App支持将UI界面进行打印的功能,这与浏览器中的打印网页的用途相近,其好处就是“所见即所得”,直接把界面上呈现的内容打印下来,比重新创建打印图像方便得多. 要在通用App中实现打印, ...
- 深入理解DOM节点类型第四篇——文档片段节点DocumentFragment
× 目录 [1]特征 [2]作用 前面的话 在所有节点类型中,只有文档片段节点DocumentFragment在文档中没有对应的标记.DOM规定文档片段(document fragment)是一种“轻 ...
- ASP.NET MVC之文件上传【二】(九)
前言 上一节我们讲了简单的上传以及需要注意的地方,查相关资料时,感觉上传里面涉及到的内容还是比较多,于是就将上传这一块分为几节来处理,同时后续也会讲到关于做上传时遗漏的C#应该注意的地方,及时进行查漏 ...
- 探讨Android中的内置浏览器和Chrome
1.Android默认浏览器和Chrome的区别 Android出厂自带的浏览器:安卓WebKit浏览器,也成内置浏览器或者默认浏览器. 安卓WebKit不是Chrome.Chrome浏览器在它的用户 ...
- MySQL学习笔记十一:数据导入与导出
数据导入 1.mysqlimport命令行导入数据 在使用mysqlimport命令导入数据时,数据来源文件名要和目标表一致,不想改文件名的话,可以复制一份创建临时文件,示例如下. 建立一个文本use ...
- tn文本分析语言(四) 实现自然语言计算器
tn是desert和tan共同开发的一种用于匹配,转写和抽取文本的语言.解释器使用Python实现,代码不超过1000行. github地址:https://github.com/ferventdes ...
- T-SQL:毕业生出门需知系列(二)
第2课 检索数据 2.1 SELECT 语句 用途:从一个或多个表中检索数据信息 关键字:作为SQL组成部分的保留字.关键字不能用作表或列的名字. 为了使用SELECT检索表数据,必须至少给出两条信息 ...
- PHP的学习--在sublime中使用XDebug(Ubuntu)
说起来惭愧,自从开始使用Sublime Text之后,再也没有debug过PHP的代码,最近把debug的环境搭建了一下,在这里记录一下. 安装XDebug sudo apt-get install ...
- CQRS, Task Based UIs, Event Sourcing agh!
原文地址:CQRS, Task Based UIs, Event Sourcing agh! Many people have been getting confused over what CQRS ...