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的使用方式非常简 ...
随机推荐
- CTE 递归查询
使用CTE进行递归查询,能够实现对层次结构的数据的快速访问,非常有用. TSql CTE 递归原理探究 TSql 分层和递归查询 1,CTE的递归结构 递归查询的结构包括两部分:起始点和迭代公式. 使 ...
- 收集的React.JS资料
主页 http://facebook.github.io/react/ https://github.com/facebook/react 中文站 http://www.reactjs.cn/ h ...
- 理解javascript中的对话框
前面的话 通常我们调试程序时,如果需要阻塞效果,则要用到alert().但除了alert()以外,window对象还提供了其他3种对话框.本文将详细介绍window对象中的对话框 定义 系统对话框与在 ...
- Python快速教程 尾声
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 写了将近两年的Python快速教程,终于大概成形.这一系列文章,包括Python基 ...
- 【前端攻略】最全面的水平垂直居中方案与flexbox布局
最近又遇到许多垂直居中的问题,这是Css布局当中十分常见的一个问题,诸如定长定宽或不定长宽的各类容器的垂直居中,其实都有很多种解决方案.而且在Css3的flexbox出现之后,解决各类居中问题变得更加 ...
- Lua 学习笔记(九)协同程序(线程thread)
协同程序与线程thread差不多,也就是一条执行序列,拥有自己独立的栈.局部变量和命令指针,同时又与其他协同程序共享全局变量和其他大部分东西.从概念上讲线程与协同程序的主要区别在于,一个具有多个线程的 ...
- 使用SPIRE.XLS来创建Excel 工作簿
使用SPIRE.XLS来创建Excel 工作簿 概要 最近在研究 .NET 控件,使用这些控件在程序中可以快速低成本实现功能. 在这一篇中我们使用的控件是Spire.XL ...
- SQL Server 数据缓存
引言 SQL Server通过一些工具来监控数据,其中之一的方法就是动态管理管理视图(DMV). 常规动态服务器管理对象 dm_db_*:数据库和数据库对象 dm_exec_*:执行用户代码和关联的连 ...
- JSON导出CSV中文乱码解决方案
前言 以往datagrid导出数据全部在后台搞定,现在就想换中思路去解决,正常情况下使用easyui datagrid ajax获取数据源时都是json格式,那么此时需要导出数据时只要把该数据源扔出来 ...
- Android测试提升效率批处理脚本
前言: APP测试过程中,经常需要用的一些命令,如adb,每次敲命令,虽可以加深印象,但个人认为那即繁琐又浪费时间.本文贴出一些我使用的批处理,以及一点点小小技巧. 目录 1.[查看APK文件信息.b ...