用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'));
    }
 })
评论
还没有评论
    发表评论 说点什么