在前端要想要读写文件的话,AJAX是一个不错的选择。但是在后端就很麻烦,所以就要自己写代码来完成这个读写的操作,下面我给博友分享一个我自己感觉不错的读写文件的代码,希望能帮到你们:
1.首先在你的项目里面安装模块,它要安装的也就是一个readline.逐行读的意思。
npm install readline --save
var readline = require('readline');
2.其次你还需要定义几个变量:
var fs = require('fs');
var os = require('os');
var fReadName = './hp.obo';//准备要读的文件
var fWriteName = './h_p.json';//准备要写的文件
3、代码:由于我要读的是表格文件,所以一行一行读出来之后将他转换成了数组的形式。
var fRead = fs.createReadStream(fReadName);
var fWrite = fs.createWriteStream(fWriteName);
var objReadline = readline.createInterface({
input: fRead,
});
var head = {};
var title = {};
var all = {}
var file = '';
objReadline.on('line', (line)=>{
var b = ((line.toString()).split("\t"));
all['_index'] = 'blog'
all['_type'] = b[0];
all['_id'] = b[1];
head.create = all
title.name = b[2]
title.id = b[4];
title.ORPHANET = b[5];
title.Ienergy = b[6];
title.typ = b[8];
title.count = b[10];
title.title = b[11];
title.time = b[12];
title.title = b[13];
fff = JSON.stringify(head) + '\n' + JSON.stringify(title) + '\n'
fWrite.write(fff ); // 下一行
});
objReadline.on('close', ()=>{
console.log('readline close...');
});
这种方法的好处是可以自己判断什么时候结束,之前还有一种逐行读写的方法,lineReader.eachLine('p_a.tab', function (line) {}),由于没有明确的完成标志,所以导致我做了很多无用功。
本文介绍了一种使用Node.js进行文件读写的方法,通过安装readline模块并结合fs模块,实现了从表格文件中逐行读取数据并转换为JSON格式写入新文件的过程。
451

被折叠的 条评论
为什么被折叠?



