Dos formas de leer archivos línea por línea en nodejs

Dos formas de leer archivos línea por línea en nodejs

  1. A modo de línea de lectura

    const fs = require('fs');
    const readline  = require('readline');
    
    let rl = readline.createInterface({
          
          
      input: fs.createReadStream("./11.txt")
    })
    rl.on('line', line => {
          
          
      console.log(line);
    })
    
  2. A modo de corriente

    Idea: en forma de transmisión, lea un byte a la vez y luego juzgue si esta subsección es un carácter de nueva línea (el carácter de nueva línea en mac es 0xa0)

    Si no, guarde el byte en una matriz temporal, si es así, transcodifique estas matrices en utf8 en forma de Buffer

    El siguiente caso es: lea un archivo, luego agregue "" a cada línea, colóquelo en una matriz y luego escríbalo en un nuevo archivo.

    const fs = require("fs");
    
    let readStream = fs.createReadStream("./11.txt");
    let writeStream = fs.createWriteStream("./11_11.txt");
    let buffer = [];
    
    function writeFileWithLine(line, isLastLine) {
    	writeStream.write('\t"');
    	writeStream.write(line);
    	if (isLastLine) {
        writeStream.write('"\n')
    	} else {
    		writeStream.write('",\n');
    	}
    }
    writeStream.write("[\n");
    readStream.on("readable", () => {
    	while ((char = readStream.read(1)) !== null) {
    		if (char[0] === 0x0a) {
    			writeFileWithLine(Buffer.from(buffer).toString(), false);
    			buffer.length = 0;
    		} else {
    			buffer.push(char[0]);
    		}
    	}
    });
    readStream.on("end", () => {
    	writeFileWithLine(Buffer.from(buffer).toString(), true);
    	writeStream.write("]");
    });
    
    
    
    

Supongo que te gusta

Origin blog.csdn.net/mochenangel/article/details/122743815
Recomendado
Clasificación