nodejs使用readline逐行读取和写入文件的实现

 更新时间:2024年01月30日 10:25:06   作者:雪域迷影  
这篇文章给大家介绍了nodejs使用readline逐行读取和写入文件的实现方法,文中通过代码示例给大家讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下

需求描述

今天遇到一个小的需求,就是要根据Excel中的若干列数据生成多条SQL插入脚本,类似于下面input.txt文件这样:

2	24	0	1	1	a04005	.3
2	24	0	1	2	a04006	.3
2	24	0	1	3	a04007	.3
2	16	0	1	1	a99501	.3
2	16	0	1	2	a99502	.3
2	16	0	1	3	a99500	.3
2	16	0	1	4	a99505	.3
2	16	0	1	5	a99504	.3
2	16	0	1	6	a99503	.3
2	22	0	1	23	a24901	.3
2	22	0	1	27	a24904	.3
2	22	0	1	28	a24905	.3
2	22	0	1	29	a24042	.3
2	22	0	1	36	a25002	.3
2	22	0	1	33	a24036	.3
2	22	0	1	32	a24908	.3
2	22	0	1	34	a24909	.3
2	22	0	1	35	a24910	.3
2	22	0	1	37	a24012	.3
2	22	0	1	38	a24043	.3
2	22	0	1	39	a24084	.3
2	22	0	1	40	a24911	.3
2	22	0	1	43	a25003	.3
2	22	0	1	41	a24912	.3
2	22	0	1	42	a24913	.3
2	22	0	1	44	a24070	.3
2	22	0	1	45	a25004	.3
2	22	0	1	47	a25008	.3
2	22	0	1	49	a25038	.3
2	22	0	1	48	a25006	.3
2	22	0	1	46	a24044	.3
2	22	0	1	50	a25034	.3
2	22	0	1	51	a25033	.3
2	22	0	1	52	a25902	.3
2	22	0	1	53	a25014	.3
2	22	0	1	55	a25021	.3
2	22	0	1	56	a25901	.3
2	22	0	1	57	a25019	.3
2	22	0	1	54	a24068	.3
2	22	0	1	58	a25020	.3
2	22	0	1	59	a25903	.3
2	22	0	1	60	a25904	.3
2	22	0	1	61	a24914	.3
2	22	0	1	62	a24915	.3
2	22	0	1	1	a24001	.3
2	22	0	1	2	a24045	.3
2	22	0	1	3	a24002	.3
2	22	0	1	4	a24053	.3
2	22	0	1	5	a24038	.3
2	22	0	1	6	a24037	.3
2	22	0	1	7	a24079	.3
2	22	0	1	8	a24064	.3
2	22	0	1	11	a24063	.3
2	22	0	1	12	a24902	.3
2	22	0	1	13	a24041	.3
2	22	0	1	14	a24039	.3
2	22	0	1	20	a24077	.3
2	22	0	1	18	a24074	.3
2	22	0	1	22	a24076	.3
2	22	0	1	31	a24907	.3
2	22	0	1	24	a24903	.3
2	22	0	1	25	a24011	.3
2	22	0	1	21	a24061	.3
2	22	0	1	30	a24906	.3
2	22	0	1	104	a31005	.3
2	22	0	1	206	a24072	.3
2	22	0	1	221	a05009	.3
2	22	0	1	65	a05014	.3
2	22	0	1	66	a24099	.3
2	22	0	1	67	a24046	.3
2	22	0	1	15	a24078	.3
2	22	0	1	68	a24008	.3
2	22	0	1	69	a24015	.3
2	22	0	1	70	a24916	.3
2	22	0	1	96	a31004	.3
2	22	0	1	97	a31003	.3
2	22	0	1	72	a24047	.3
2	22	0	1	71	a05013	.3
2	22	0	1	98	a31024	.3
2	22	0	1	73	a24100	.3
2	22	0	1	74	a24003	.3
2	22	0	1	101	a28006	.3
2	22	0	1	75	a24016	.3
2	22	0	1	76	a24111	.3
2	22	0	1	77	a24004	.3
2	22	0	1	78	a24018	.3
2	22	0	1	79	a24005	.3
2	22	0	1	80	a24017	.3
2	22	0	1	81	a24049	.3
2	22	0	1	82	a24027	.3
2	22	0	1	83	a24007	.3
2	22	0	1	85	a24112	.3
2	22	0	1	84	a24054	.3
2	22	0	1	86	a24019	.3
2	22	0	1	87	a24050	.3
2	22	0	1	88	a24034	.3
2	22	0	1	89	a25010	.3
2	22	0	1	90	a24009	.3
2	22	0	1	91	a24020	.3
2	22	0	1	92	a25012	.3
2	22	0	1	95	a25011	.3
2	22	0	1	215	a30008	.3
2	22	0	1	219	a99051	.3
2	22	0	1	201	a29026	.3
2	22	0	1	208	a29017	.3
2	22	0	1	106	a31025	.3
2	22	0	1	209	a24110	.3
2	22	0	1	203	a25072	.3
2	22	0	1	222	a29015	.3
2	22	0	1	202	a31030	.3
2	22	0	1	211	a31027	.3
2	22	0	1	207	a24006	.3
2	22	0	1	93	a25013	.3
2	22	0	1	94	a25068	.3
2	22	0	1	204	a25015	.3
2	22	0	1	223	a24113	.3
2	22	0	1	224	a25059	.3
2	22	0	1	9	a24919	.3
2	22	0	1	213	a30003	.3
2	17	0	1	1	a99070	.0
2	17	0	1	2	a99071	.0
2	17	0	1	3	a99072	.0
2	17	0	1	4	a99073	.0
2	17	0	1	5	a99074	.0
2	17	0	1	6	a99075	.0
2	17	0	1	7	a99076	.0
2	17	0	1	8	a99077	.0
2	17	0	1	9	a99078	.0
2	17	0	1	10	a99079	.0
2	17	0	1	11	a99080	.0
2	17	0	1	12	a99081	.0
2	17	0	1	13	a99082	.0
2	17	0	1	14	a99083	.0
2	17	0	1	15	a99084	.0
2	17	0	1	16	a99085	.0
2	17	0	1	17	a99086	.0
2	17	0	1	18	a99087	.0
2	17	0	1	19	a99088	.0
2	17	0	1	20	a99089	.0
2	17	0	1	21	a99090	.0
2	17	0	1	22	a99091	.0
2	17	0	1	23	a99092	.0
2	17	0	1	24	a99093	.0
2	17	0	1	25	a99094	.0
2	17	0	1	26	a99095	.0
2	17	0	1	27	a99096	.0
2	17	0	1	28	a99097	.0
2	17	0	1	29	a99098	.0
2	17	0	1	30	a99099	.0
2	17	0	1	31	a99100	.0
2	17	0	1	32	a99101	.0
2	17	0	1	35	a99102	.1
2	17	0	1	36	a99103	.1
2	17	0	1	37	a99104	.1

每行数据格式都是一样的,分别代表protocol, slave, number, ptype, pid,name, format,每个字段以’\t’制表符为分隔符。

上面的input.txt是我从Excel中粘贴复制过来的,本想复制到Editplus进行处理,然后生成类似于每行

INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 24, 0, 1, 1, 'a04005', '.3');

这样的SQL插入脚本。

方法一

相关Nodejs代码 app.js

直接用C++也可以写,对于nodejs读写文件不是很熟练,于是上网找资料,需要使用nodejs内置的fsreadline 库实现文件的读取和写入。得到下面的解决方案:

// app.js
var fs = require('fs');
var readline = require('readline');
var os = require('os'); 

// Node.js readline 逐行读取、写入文件内容的示例
// https://www.jb51.net/article/135706.htm
// nodejs读取文件、按行读取
// https://blog.csdn.net/weixin_42171955/article/details/100156212

var strInputFileName = './input.txt';
var strOutputFileName = 'output.txt';

var fRead = fs.createReadStream(strInputFileName); 
var fWrite = fs.createWriteStream(strOutputFileName); 
  
fRead.on('end', ()=>{ 
 console.log('end'); 
}); 
  
var objReadline = readline.createInterface({ 
 input: fRead, 
 output: fWrite, 
 terminal: false
}); 

objReadline.on('line', (strLine)=>{ 
 // 获取某一行的数据,数据以\t分割,例如:24	0	1	1	a04005	.2
 var strArr = strLine.split('\t');
 let protocol = strArr[0];
 let slave = strArr[1];
 let number = strArr[2];
 let ptype = strArr[3];
 let pid = strArr[4];
 let name = strArr[5];
 let format = strArr[6];

// 由于readline::output是先写入后调用的on('line')事件, 
// 所以已经读取文件完毕时就不需要再写行号了... 
// INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
// VALUES (2, 29, 0, 1, 2, 'a06011', '.3');
let strTemp = `INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)\n `;
strTemp += `VALUES(${protocol}, ${slave}, ${number}, ${ptype}, ${pid}, '${name}', '${format}');\n`;
fWrite.write(strTemp); 
}); 
 
 
objReadline.on('close', ()=>{ 
 console.log('readline close...'); 
}); 

运行代码 node app.js

vscode_run

在当前项目目录下得到output.txt文件如下:

INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 24, 0, 1, 1, 'a04005', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 24, 0, 1, 2, 'a04006', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 24, 0, 1, 3, 'a04007', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 16, 0, 1, 1, 'a99501', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 16, 0, 1, 2, 'a99502', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 16, 0, 1, 3, 'a99500', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 16, 0, 1, 4, 'a99505', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 16, 0, 1, 5, 'a99504', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 16, 0, 1, 6, 'a99503', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 23, 'a24901', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 27, 'a24904', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 28, 'a24905', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 29, 'a24042', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 36, 'a25002', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 33, 'a24036', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 32, 'a24908', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 34, 'a24909', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 35, 'a24910', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 37, 'a24012', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 38, 'a24043', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 39, 'a24084', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 40, 'a24911', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 43, 'a25003', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 41, 'a24912', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 42, 'a24913', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 44, 'a24070', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 45, 'a25004', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 47, 'a25008', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 49, 'a25038', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 48, 'a25006', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 46, 'a24044', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 50, 'a25034', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 51, 'a25033', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 52, 'a25902', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 53, 'a25014', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 55, 'a25021', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 56, 'a25901', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 57, 'a25019', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 54, 'a24068', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 58, 'a25020', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 59, 'a25903', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 60, 'a25904', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 61, 'a24914', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 62, 'a24915', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 1, 'a24001', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 2, 'a24045', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 3, 'a24002', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 4, 'a24053', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 5, 'a24038', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 6, 'a24037', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 7, 'a24079', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 8, 'a24064', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 11, 'a24063', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 12, 'a24902', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 13, 'a24041', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 14, 'a24039', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 20, 'a24077', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 18, 'a24074', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 22, 'a24076', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 31, 'a24907', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 24, 'a24903', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 25, 'a24011', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 21, 'a24061', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 30, 'a24906', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 104, 'a31005', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 206, 'a24072', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 221, 'a05009', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 65, 'a05014', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 66, 'a24099', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 67, 'a24046', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 15, 'a24078', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 68, 'a24008', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 69, 'a24015', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 70, 'a24916', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 96, 'a31004', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 97, 'a31003', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 72, 'a24047', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 71, 'a05013', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 98, 'a31024', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 73, 'a24100', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 74, 'a24003', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 101, 'a28006', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 75, 'a24016', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 76, 'a24111', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 77, 'a24004', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 78, 'a24018', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 79, 'a24005', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 80, 'a24017', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 81, 'a24049', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 82, 'a24027', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 83, 'a24007', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 85, 'a24112', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 84, 'a24054', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 86, 'a24019', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 87, 'a24050', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 88, 'a24034', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 89, 'a25010', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 90, 'a24009', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 91, 'a24020', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 92, 'a25012', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 95, 'a25011', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 215, 'a30008', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 219, 'a99051', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 201, 'a29026', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 208, 'a29017', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 106, 'a31025', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 209, 'a24110', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 203, 'a25072', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 222, 'a29015', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 202, 'a31030', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 211, 'a31027', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 207, 'a24006', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 93, 'a25013', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 94, 'a25068', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 204, 'a25015', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 223, 'a24113', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 224, 'a25059', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 9, 'a24919', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 22, 0, 1, 213, 'a30003', '.3');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 1, 'a99070', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 2, 'a99071', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 3, 'a99072', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 4, 'a99073', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 5, 'a99074', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 6, 'a99075', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 7, 'a99076', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 8, 'a99077', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 9, 'a99078', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 10, 'a99079', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 11, 'a99080', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 12, 'a99081', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 13, 'a99082', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 14, 'a99083', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 15, 'a99084', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 16, 'a99085', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 17, 'a99086', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 18, 'a99087', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 19, 'a99088', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 20, 'a99089', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 21, 'a99090', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 22, 'a99091', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 23, 'a99092', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 24, 'a99093', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 25, 'a99094', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 26, 'a99095', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 27, 'a99096', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 28, 'a99097', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 29, 'a99098', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 30, 'a99099', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 31, 'a99100', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 32, 'a99101', '.0');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 35, 'a99102', '.1');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 36, 'a99103', '.1');
INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format)
 VALUES(2, 17, 0, 1, 37, 'a99104', '.1');

这样就根据input.txt文件,逐行读取并根据字段生成所需要的SQL插入脚本,然后再相应的数据库中执行就OK了。

方法二

1.实现代码

var fs = require('fs');
var readline = require('readline');

/*
* 按行读取文件内容
* 返回:字符串数组
* 参数:fReadName:文件名路径
*      callback:回调函数
* */
function readFileToArr(fReadName,callback){
    var fRead = fs.createReadStream(fReadName);
    var objReadline = readline.createInterface({
        input:fRead
    });
    var arr = new Array();
    objReadline.on('line',function (line) {
        arr.push(line);
        //console.log('line:'+ line);
    });
    objReadline.on('close',function () {
       // console.log(arr);
        callback(arr);
    });
}

2.测试例子

<1.文本文件

<2.测试程序

<3.结果

总结

到此这篇关于nodejs使用readline逐行读取和写入文件的实现的文章就介绍到这了,更多相关nodejs readline逐行读取和写入文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解nodejs 文本操作模块-fs模块(一)

    详解nodejs 文本操作模块-fs模块(一)

    这篇文章主要介绍了详解nodejs 文本操作模块-fs模块(一),本篇文章详细的介绍了文件及目录的读写操作,有兴趣的可以了解一下。
    2016-12-12
  • 详解Node.js 命令行程序开发教程

    详解Node.js 命令行程序开发教程

    一种编程语言是否易用,很大程度上,取决于开发命令行程序的能力。本篇文章主要介绍了Node.js 命令行程序开发教程,有兴趣的可以了解一下
    2017-06-06
  • Nodejs实现的一个静态服务器实例

    Nodejs实现的一个静态服务器实例

    这篇文章主要介绍了Nodejs实现的一个静态服务器实例,本文实现的静态服务器实例包含cache功能、压缩功能等,需要的朋友可以参考下
    2014-12-12
  • Nodejs实现多人同时在线移动鼠标的小游戏分享

    Nodejs实现多人同时在线移动鼠标的小游戏分享

    这篇文章主要介绍了Nodejs实现多人同时在线移动鼠标的小游戏分享,本文给出了服务器端和客户端代码以及运行方法,需要的朋友可以参考下
    2014-12-12
  • Node.js 中的 fs 模块与Path模块方法详解

    Node.js 中的 fs 模块与Path模块方法详解

    这篇文章主要介绍了Node.js 中的 fs 模块与Path模块,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • Node.js中你不可不精的Stream(流)

    Node.js中你不可不精的Stream(流)

    这篇文章主要给大家介绍了关于Node.js中你不可不精的Stream(流)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-06-06
  • node.js连接mongoose数据库方法详解

    node.js连接mongoose数据库方法详解

    之前我们都是通过shell来完成对数据库的各种操作的,在开发中大部分时候我们都需要通过程序来完成对数据库的操作。而Mongoose就是一个让我们可以通过Node来操作MongoDB的模块
    2022-08-08
  • Node端异常捕获的实现方法

    Node端异常捕获的实现方法

    本文主要介绍了Node端异常捕获的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • node.js基于fs模块对系统文件及目录进行读写操作的方法详解

    node.js基于fs模块对系统文件及目录进行读写操作的方法详解

    这篇文章主要介绍了node.js基于fs模块对系统文件及目录进行读写操作的方法,结合实例形式分析了nodejs使用fs模块针对文件与目录的读写、创建、删除等相关操作技巧,需要的朋友可以参考下
    2017-11-11
  • node.js读取Excel数据(下载图片)的方法示例

    node.js读取Excel数据(下载图片)的方法示例

    这篇文章主要给大家介绍了关于node.js读取Excel数据(下载图片)的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用node.js具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-08-08

最新评论