Node流操作
Posted comedy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node流操作相关的知识,希望对你有一定的参考价值。
详情:
https://www.cnblogs.com/lalalagq/p/9749680.html
流:读取流,写入流,双向读写流。
读写流——压缩、加密
数据库不能直接接受流
sf.readFile(‘www${pathname}‘,(err,buffer)=>{ res.write(buffer); }); 1.占用内存; 2.资源使用不均匀 const fs = require(‘fs); let rs = fs.createReadStream(‘1.txt‘); let ws = fs.createWriteStream(‘2.txt‘); rs.pipe(ws); rs.on(‘error‘,()=>){ console.log(err); }) ws.on(‘finish‘,()=>{ console.log(‘完成‘); })
Comedy: 读写流——压缩、加密 数据库不能直接接受流 const fs = require(‘fs); const zilib = require(‘zlib‘); let rs = fs.createReadStream(‘1.txt‘); let gz = zlib.createGzip(); let ws = fs.createWriteStream(‘2.txt.gz‘); rs.pipe(gz).pipe(ws); rs.on(‘error‘,()=>){ console.log(err); }) ws.on(‘finish‘,()=>{ console.log(‘完成‘); }) Comedy: cosnt http = require(‘http‘); const zlib = require(‘zlib‘); const url = require(‘url‘); const fs = require(‘fs‘); http.createSever((req,res)=>{ let {pathname} = url.parse(req.url,true); let filepath=‘www‘+pathname; fs.stat(filepath,(err,stat)=>{ if(err){ //res.setHerader(‘content-encoding‘,‘deflate‘); res.writeHeader(404); res.write(‘NOT FOUND‘); res.end(); }else{ let rs=fs.createReadStream(filepath); rs.on(‘error‘,()=>{ }); res.setHerader(‘content-encoding‘,‘gzip‘); let gz = zlib.createGzip(); rs.pipe(res); } }); }).listen(8520);
启动器 (forever,pm2......)
forever
npm i forever -g
forever start server.js
终端关了依旧在,会自动启动
forever list 查看运行列表
forever restart server.js 停掉再重开
forever stop server.js 停掉
forever stopall 停掉全部
forever start xxx.js -l c:/a.log -e c:/err.log -a
路由router
eg:
‘/login‘ => function(){}
‘/reg‘ => function(){}
‘ *‘ => read
以上是关于Node流操作的主要内容,如果未能解决你的问题,请参考以下文章
java内存流:java.io.ByteArrayInputStreamjava.io.ByteArrayOutputStreamjava.io.CharArrayReaderjava.io(代码片段