用nodejs实现txt文档的指定行数分割
最近需要将一个有数万条数据的txt文档分割成不同的小txt文件,试了网上能找到的几乎所有txt切割软件都不好使,so,自己动手丰衣足食,用nodejs实现了一个,思路很多,大家也可以自由发挥,我抛砖引玉一下。
只用到了fs模块和readline模块,都是nodejs平台自带的,无需额外安装其他第三方模块。
代码如下:
var fs = require('fs'); var readline = require('readline'); //定义分割后每个文件的行数 var rows = 2000; //要分割的文件 var file = 'sunqizheng.txt'; //用来存储结果的变量 var arr=[]; //创建文件流 var readstream = fs.createReadStream(file); //创建逐行读取 var rl = readline.createInterface({ input:readstream }) rl.on('line',function(data){ arr.push(data); }).on('close',function(){//结束后调用的 for (var i=0;i<Math.ceil(arr.length/rows);i++) { fs.writeFile(i+'.txt',arr.slice(i*rows,i*rows+rows).join('\r\n')); } })