http://www.sunqizheng.com/blog/209.html
最近需要将一个有数万条数据的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'));
}
})
转载请注明:有爱前端 » 用nodejs实现txt文档的指定行数分割
