nodejs 逐行读写文件

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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值