本篇介绍nodejs中 文件流的读取、写入、管道、(二进制)文件复制、文件压缩等。
废话不多讲,还是直接上代码( 流api也比较简单)
02_fileStream.js
//node fs 文件流 //介绍文件流的读取、写入、管道、(二进制)文件复制等 var fs=require("fs"); //文件读取流 编码格式默认为utf-8 可以不设置 var readStream=fs.createReadStream("./testDir/input.txt",{encoding:'utf-8'}); var str=''; readStream.on('data',function (chunk) { str+=chunk; }); readStream.on('error',function (err) { console.log(err); // throw err; }); readStream.on('end',function () { console.log('文件流读取完毕:');//ok console.log(str); }); //写入文件的编码格式默认为utf-8 这里也可以不设置 var writeStream =fs.createWriteStream('./testDir/out.txt'); writeStream.on('finish',function () { console.log('写入文件完成'); }); writeStream.on('error',function (err) { console.log(err); }); //编码格式utf-8 (缺省值 可以不设置) writeStream.write('这是一段出入的文本\n','utf-8'); writeStream.end(); //pipe 管道流 //创建一个可读流 var readStream = fs.createReadStream('./testDir/input.txt'); // 创建一个可写流 var writeStream = fs.createWriteStream('./testDir/output.txt'); // 管道读写操作 // 读取 input.txt 文件内容,并将内容写入到 output.txt 文件中 readStream.pipe(writeStream); //pipe 管道流复制二进制文件(图片) 案例 var readStream =fs.createReadStream('./testDir/1.png'); var writeStream =fs.createWriteStream('./testDir/2.png'); readStream.pipe(writeStream);zlib 文件压缩及解压
03_zlib_file.js
var fs=require("fs"); //zlib 压缩和解压文件 var zlib = require('zlib'); //压缩 input.txt 文件为 input.txt.gz fs.createReadStream('./testDir/input.txt') .pipe(zlib.createGzip()) .pipe(fs.createWriteStream('./testDir/input.txt.gz')); // // console.log("文件压缩完成。"); // 解压 input.txt.gz 文件为 input2.txt fs.createReadStream('./testDir/input.txt.gz') .pipe(zlib.createGunzip()) .pipe(fs.createWriteStream('./testDir/input2.txt')); console.log("文件解压完成。");
上一篇:nodejs--fs文件系统
下一篇:nodejs之http介绍
Copyright © 叮叮声的奶酪 版权所有
备案号:鄂ICP备17018671号-1