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_received
eventEmitter.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的快速排序法
在排序方式中,快速是比较普遍使用的,因为其速度快. 因为其是不断的递归,而且是根据基准点的左右两边开始递归,直到数组只有一个值的时候才返回. 这个基准点是自己定的. 一般取中间,比较好理解. < ...
- ExtJs4之TreePanel
Tree介绍 树形结构,是程序开发,不可缺少的组件之一.ExtJs中的树,功能强大美观实用.功能齐全,拖拉,排序,异步加载等等. 在ExtJs4中Tree和Grid具有相同的父类,因此Grid具有的特 ...
- nodejs 批量修改、删除
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAB4AAAAQhCAIAAABDaAVHAAAgAElEQVR4nOydeXxU5aH359733vd9b/ ...
- Android之自定义标题
我们知道我们创建的每一个Activity,系统默认为我们提供了一下黑色的标题,本篇我将带领大家接触一下如何实现自定义标题样式.相比系统为我们提供的样式,自定义标题可以满足我们唯心所欲的自定义设计,使我 ...
- Tomcat报java.lang.OutOfMemoryError: Java heap space错误停止运行如何解决
最近开发的一个商业项目,部署完成后,经常出现Tomcat挂掉的现象,报的异常是:java.lang.OutOfMemoryError: Java heap space,上网google了一下,了解了一 ...
- 【开源】OSharp框架解说系列(5.1):EntityFramework数据层设计
OSharp是什么? OSharp是个快速开发框架,但不是一个大而全的包罗万象的框架,严格的说,OSharp中什么都没有实现.与其他大而全的框架最大的不同点,就是OSharp只做抽象封装,不做实现.依 ...
- floating IP 原理分析 - 每天5分钟玩转 OpenStack(107)
上一节我们通过 Web UI 创建为 cirros-vm3 分配了浮动 IP,今天将分析其工作原理. 首先查看 router 的 interface 配置: 可以看到,floating IP 已经配置 ...
- jQuery UI Datepicker使用介绍
本博客使用Markdown编辑器编写 在企业级web开发过程中,日历控件和图表控件是使用最多的2中第三方组件.jQuery UI带的Datepicker,日历控件能满足大多数场景开发需要.本文就主要讨 ...
- hdu4831 Scenic Popularity(线段树)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4831 题目大概意思就是有多个风景区和休息区,每个风景区有热度,休息区的热度与最接近的分景区的热度相同, ...
- SQL Server 隐式转换引发的躺枪死锁-程序员需知
在SQL Server的应用开发过程(尤其是二次开发)中可能由于开发人员对表的结构不够了解,造成开发过程中使用了不合理的方式造成数据库引擎未按预定执行,以致影响业务.这是非常值得注意的.这次为大家介绍 ...