nodejs 读取文件中的几行

最近遇到了这样的问题:

如何每次从一个文件里面依次读里面的几行

对nodejs提供的readline和一些三方npm例如lineReader不满意,就自己实现一个简易版本

var fs = require(‘fs‘);
var data = fs.readFileSync(‘url.dat‘, ‘utf8‘);
var lines = data.split("\n");

function get_line(begin,end) {
    for(i =begin;i<end;i++){
        console.log(lines[i]);
        //TODO 一些耗时操作
    }
}

var i = 0;
//隔两秒读一次,主要是为了读文件后的其他耗时操作
var interval = setInterval(function(){
    get_line(i,i+5);
    i+=5;

    if(i>lines.length){
        console.log(‘time to go!!!‘);
        clearInterval(interval);
    }

},2000);
时间: 2024-08-25 21:37:32

nodejs 读取文件中的几行的相关文章

分批读取文件中数据的程序流程及其C代码实现

一.概述 在实际的软件开发项目中,经常需要处理大量的文件.某些文件中包含了相当多的数据记录数,如作者本人参与过的项目中,一个文件中有好几十万条记录.如果一次性将多条记录读入,则会花费大量的处理时间,且占用大量的内存. 为此,要求对于包含大量数据记录的文件进行分批读取操作,即每一轮读取一定数目的数据记录,待将这些记录处理完成之后,再读取下一批数据.本文介绍分批读取文件中数据的程序流程,并给出了C程序实现. 二.总体程序流程 实现分批读取文件中数据的程序流程如图1所示. 图1 实现分批读取文件中数据

利用PushbackReader读取文件中某个字符串之前的内容

package File; import java.io.FileReader; import java.io.IOException; import java.io.PushbackReader; /*读取文件中某个字符串之前的文件*/ //PushbackInputStream,PushbackReader应用 public class PushbackTest { public static void main(String[] args) { try(PushbackReader pr

剔除在另一个文件中出现的行

有两个文件A,B.我想要一个文件C,C中含有的是B文件中剔除与A相同行的数据. 用C++编写,用到fstream,ifstream,set以及vector. #include <fstream> #include <iostream> #include <vector> #include <set> using namespace std; struct strless : public std::binary_function<const char*

linux查询文件中某几行

查询文件中某几行: sudo cat /etc/tinyproxy.conf | head -n 32 | tail -n +29 [一]从第3000行开始,显示1000行.即显示3000~3999行 cat filename | tail -n +3000 | head -n 1000 [二]显示1000行到3000行 cat filename| head -n 3000 | tail -n +1000 *注意两种方法的顺序 分解: tail -n 1000:显示最后1000行 tail -n

IO流的练习5 —— 读取文件中的字符串,排序后写入另一文件中

需求:已知s.txt文件中有这样的一个字符串:“hcexfgijkamdnoqrzstuvwybpl” 请编写程序读取数据内容,把数据排序后写入ss.txt中. 分析: A:读取文件中的数据 B:把数据存在一个字符串中 C:把字符串转换成字符串数组 D:对字符串数组进行排序 E:数组转换成字符串 F:把字符串写入文件中 1 public static void main(String[] args) throws IOException { 2 // 读取文件中的数据 缓冲字符输入流 3 Buf

读取文件中的数据(以结构体存放)

/* *读取文件中的数据(数据以结构体存放) */ #include<iostream> #include <fstream> //#define Field 31 //field_anal number #define Field 15 //field_post number using namespace std; //the level restore certain level data //level_z show the level struct Level { int

sort排序命令 uniq 去除排序过的文件中的重复行 cut提取命令 wc 统计命令

sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序. sort语法 [[email protected] ~]# sort [-fbMnrtuk] [file or stdin] 选项与参数: -f :忽略大小写的差异,例如 A 与 a 视为编码相同: -b :忽略最前面的空格符部分: -M :以月份的名字来排序,例如 JAN, DEC 等等的排序方法: -n :使用『纯数字

JAVA 以字节流读取文件中的BMP图像

用字节流而不是用JAVA的API函数read()有助于大家理解理解BMP的存储方式哈. 同时,从SQL中读取图片的话,也是用字节流读取,需要自己进行转换的. 顺便保存下代码...下次用就有模板了... 只有24位图的哈.   public Image myRead(String path) throws java.io.IOException {     Image image = null;       int biWidth,biHeight,bicount,biSizeImage,npad

json数据处理:读取文件中的json字符串,转为python字典

方法1: 读取文件中的json字符串, 再用json.loads转为python字典 import json str_file = './960x540/config.json' with open(str_file, 'r') as f: print("Load str file from {}".format(str_file)) str1 = f.read() r = json.loads(str1) print(type(r)) print(r) print(r['under_