在前端要想要读写文件的话,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) {}),由于没有明确的完成标志,所以导致我做了很多无用功。