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 ]
5、事件驱动【关键字:eventEmitter.on('事件名',function(){})| eventEmitter.emit('事件名') 】
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('程序执行完毕');
6、文件流
【读取流】 四大事件 data end error finish【用在写入的时候】
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);
});
}
【写入流】会创建一个output.txt文件
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();
7、简单服务器创建并设置请求头
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);