Перейти к содержанию

Чтение и запись файлов (модуль fs)

Начало урока

Чтение и запись файлов (модуль fs)

Сохраняй и загружай текст на диске с помощью Node.js

Главная идея: Node.js умеет открывать настоящие файлы на компьютере, читать их содержимое и записывать в них новые данные. Встроенный модуль fs («файловая система») даёт нужные инструменты. Так программы «запоминают» вещи даже после того, как перестают работать.
К концу урока ты сможешь:
  • подключать модуль fs через require,
  • читать файл как текст и записывать текст обратно,
  • различать синхронный стиль, стиль с колбэком и стиль с промисами,
  • выбирать подходящий стиль для задачи.

1. Знакомство с модулем fs

Модуль fs встроен в Node — ничего устанавливать не нужно. Просто подключи его в начале файла:

const fs = require('fs');

Теперь переменная fs хранит множество полезных функций, например readFileSync, readFile, writeFileSync и appendFileSync. Обрати внимание: некоторые имена заканчиваются на Sync, а некоторые нет — именно эта разница и есть суть урока.

2. Чтение файла (синхронно)

Самый простой способ прочитать файл — fs.readFileSync. Слово Sync означает «синхронно»: Node останавливается и ждёт, пока весь файл не будет прочитан, а затем отдаёт тебе результат.

const fs = require('fs');

// Read the whole file, THEN continue
const text = fs.readFileSync('poem.txt', 'utf8');
console.log(text);

// Output:
// Roses are red,
// Node reads files fast.

Всегда передавай 'utf8' вторым аргументом. Без него Node вернёт Buffer (сырые байты в виде чисел), а не читаемую строку. С 'utf8' ты получишь обычный текст, который можно вывести.

Поскольку функция ждёт, следующая строка выполнится только после того, как файл полностью прочитан. Так проще думать, но пока Node ждёт, он ничего другого делать не может.

Продолжите этот урок на YourAIZone

В полном уроке — объяснение целиком, разобранные примеры, частые ошибки, тесты с мгновенной проверкой и ИИ-репетитор. Начните сразу как гость или создайте аккаунт, чтобы сохранять прогресс.

В полном уроке

  • Объяснение целиком
  • Разобранные примеры
  • Частые ошибки и как их избежать
  • Тестовые вопросы: 15
  • ИИ-репетитор, который отвечает на вопросы по теме
  • Отслеживание прогресса для ученика, родителей и учителя