UNPKG

learnyounode

Version:

Learn You The Node.js For Much Win! An intro to Node.js via a set of self-guided workshops.

27 lines (16 loc) 2.87 kB
Напишіть програму, яка **синхронно** читає файл та виводить кількість рядків (\n), котрі містяться у файлі, точно так само, як би це зробила команда `cat file | wc -l`. Повний шлях до файлу буде переданий у якості першого аргументу командного рядка. Вам не варто створювати тестовий файл самостійно. ---------------------------------------------------------------------- ## ІНФОРМАЦІЯ Щоб прочитати файл Вам знадобиться модуль `fs` із вбудованої бібліотеки Node. Щоб завантажити цей, або будь-який інший "глобальний модуль", скористайтесь наступною командою: ```js const fs = require('fs') ``` Таким чином весь модуль `fs` буде доступний через змінну `fs`. Всі синхронні (або блокуючі) методи файлової системи в модулі `fs` закінчуються на 'Sync'. Щоб прочитати файл, Вам знадобиться `fs.readFileSync('/path/to/file')`. Цей метод *поверне* об’єкт типу `Buffer`, котрий міститиме весь контент файлу. Документація до модуля `fs` ви зможете знайти, перейшовши у вашому браузері сюди: {rootdir:/docs-nodejs/fs.html} Об’єкти типу `Buffer` використовуються Node.js для ефективного представлення масивів данних, будь то ascii, бінарний або будь-який інший формат. Об’єкти `Buffer` можуть бути конвертованими в рядок шляхом виклику методу `toString()` над ними, наприклад, `const str = buf.toString()`. Документацію для `Buffer` Ви можете знайти, набравши у браузері: {rootdir:/docs-nodejs/buffer.html} Якщо Ви шукаєте простий спосіб порахувати кількість рядків у файлі, то Ви можете скористатись `.split()` з роздільником '\n' для розбиття цього рядка на масив підрядків. Зауважте, що текстовий файл містить символ ('\n') в кінці останнього рядка, таким чином Ви отримаєте масив, котрий містить на один елемент більше, ніж число рядків у файлі.