Извлеките и получите доступ к каждой строке отдельно из текстового файла с помощью node.js

#javascript #node.js

Вопрос:

У меня есть текстовый файл, urls.txt, содержащий несколько различных URL-адресов для веб-сайтов:

 http://google.com
http://postgresql.com
http://dfsghlkjdflkjdfhkl.com
https://nodejs.org/api/console.html

 

Я пытаюсь получить каждую строку отдельно с помощью LineReader, чтобы в конечном итоге передать каждый URL обработчику для чтения этого html

Вот мой app.js:

 const fs = require('fs')
const lineReader = require('line-reader')

lineReader.eachLine('urls.txt', function(line){
    console.log(line)
})
 

Выше будет выведена каждая строка на терминал. Я попытался разделить строки чем-то вроде

 let arr = line.split(/r?n/);
 

…а затем доступ к индексу, но все, что я могу извлечь, — это один текстовый символ из каждой строки, используя этот метод. Я чувствую, что решение будет действительно очевидным, но последние 2 часа я занимался серфингом, пытаясь разобраться в этом!

Комментарии:

1. Поместите каждую строку в массив, тогда у вас будет индекс для каждой строки.

2. Спасибо, @Teemu. Я знал, что есть простое решение, но застрял в классическом случае чрезмерного обдумывания.

Ответ №1:

Я использовал следующее, чтобы решить свою проблему. Надеюсь, это поможет кому-то в будущем не зацикливаться на этом в своей голове.

 let arr = fs.readFileSync('urls.txt').toString().split("n");
for(i in arr) {
    console.log(arr[i]);
}
 

Комментарии:

1. Просто предупреждаю. Если вам нужны только значения массива, возможно, лучше использовать for-of цикл вместо for-in . Что-то вроде for (const line of arr) { console.log(line); }