最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

Node.js读取大文件,进行编辑和显示

IT培训 admin 12浏览 0评论

Node.js读取大文件,进行编辑和显示

我正在尝试读取文件并将其传递到网页。问题是文件很大。它是一个包含个人简介链接的列表,目前包含25万多个不同的人。我想做的就是链接。从网址中获取名称,并显示具有指向名称配置文件的原始链接的名称。这本身不是什么大问题,但是因为名称太多,它会使页面崩溃。所以我需要一些帮助,使我朝正确的方向发展。我已经在寻找createReadStream来做到这一点,但是我很难理解它。

文件是这样构建的:

<;.
<;.
<;.
...
回答如下:

我知道了

我本来是将流功能与readline结合使用的,但我最终还是逐行使用。主要的好处是它允许我暂停播放流并在需要时继续播放。

var LineByLineReader = require('line-by-line');

var lr = new LineByLineReader('/url/to/file');

//get line count for file
var lineCount = 0;
var display = 0;

lr.on('error', function (err) {
    console.log('err');
});

lr.on('line', function(line) {
  // increment line count
  lineCount++;


  //do something with data and parse it to the html
  var name = line.split(' ')[0].split('/')[5].replace('>','').replace(/-/g,' ');
  document.getElementById("content").innerHTML += `<li>` + name + `</li>`;

    //stop at a 100 lines
    if( lineCount > display+100){
        lr.pause();
    }
});

lr.on('end', function () {
  console.log('done loading');
});

//load next 100 when you reach the bottom of the page
$(window).scroll(function() {   
  if($(window).scrollTop() + $(window).height() == $(document).height()) {
    display = display + 100;
    lr.resume();
    }
});

Node.js读取大文件,进行编辑和显示

我正在尝试读取文件并将其传递到网页。问题是文件很大。它是一个包含个人简介链接的列表,目前包含25万多个不同的人。我想做的就是链接。从网址中获取名称,并显示具有指向名称配置文件的原始链接的名称。这本身不是什么大问题,但是因为名称太多,它会使页面崩溃。所以我需要一些帮助,使我朝正确的方向发展。我已经在寻找createReadStream来做到这一点,但是我很难理解它。

文件是这样构建的:

<;.
<;.
<;.
...
回答如下:

我知道了

我本来是将流功能与readline结合使用的,但我最终还是逐行使用。主要的好处是它允许我暂停播放流并在需要时继续播放。

var LineByLineReader = require('line-by-line');

var lr = new LineByLineReader('/url/to/file');

//get line count for file
var lineCount = 0;
var display = 0;

lr.on('error', function (err) {
    console.log('err');
});

lr.on('line', function(line) {
  // increment line count
  lineCount++;


  //do something with data and parse it to the html
  var name = line.split(' ')[0].split('/')[5].replace('>','').replace(/-/g,' ');
  document.getElementById("content").innerHTML += `<li>` + name + `</li>`;

    //stop at a 100 lines
    if( lineCount > display+100){
        lr.pause();
    }
});

lr.on('end', function () {
  console.log('done loading');
});

//load next 100 when you reach the bottom of the page
$(window).scroll(function() {   
  if($(window).scrollTop() + $(window).height() == $(document).height()) {
    display = display + 100;
    lr.resume();
    }
});
发布评论

评论列表 (0)

  1. 暂无评论