tgoop.com/we_use_js/4245
Create:
Last Update:
Last Update:
Напишите функцию, которая принимает путь к файлу и возвращает Promise. Функция должна читать файл построчно с использованием потоков (streams
), подсчитывать количество строк и возвращать объект с количеством строк и содержанием первой строки.
Пример использования:
const filePath = "./example.txt";
processFile(filePath)
.then(result => {
console.log(result);
// Ожидаемый результат (пример):
// { linesCount: 10, firstLine: "This is the first line of the file." }
})
.catch(error => {
console.error("Error:", error);
});
Решение задачи
const fs = require("fs");
const readline = require("readline");
function processFile(filePath) {
return new Promise((resolve, reject) => {
const stream = fs.createReadStream(filePath, { encoding: "utf8" });
const rl = readline.createInterface({ input: stream });
let linesCount = 0;
let firstLine = null;
rl.on("line", line => {
if (linesCount === 0) {
firstLine = line;
}
linesCount++;
});
rl.on("close", () => {
resolve({ linesCount, firstLine });
});
rl.on("error", error => {
reject(error);
});
});
}