Работа с файлами в Node.js — это одна из основных задач, которые могут понадобиться разработчикам. Node.js предоставляет мощные средства для работы с файловой системой через встроенный модуль fs (файловая система). В этом ответе мы рассмотрим, как использовать этот модуль для чтения, записи и управления файлами.

Сначала давайте подключим модуль fs:

const fs = require('fs');

Node.js поддерживает как синхронные, так и асинхронные операции с файлами. Рассмотрим основные методы работы с файлами.

Чтение файлов

Для чтения файлов мы можем использовать метод fs.readFile для асинхронного чтения и fs.readFileSync для синхронного.

Асинхронное чтение

fs.readFile('example.txt', 'utf8', (err, data) => {
    if (err) {
        console.error('Ошибка чтения файла:', err);
        return;
    }
    console.log('Содержимое файла:', data);
});

Синхронное чтение

try {
    const data = fs.readFileSync('example.txt', 'utf8');
    console.log('Содержимое файла:', data);
} catch (err) {
    console.error('Ошибка чтения файла:', err);
}

Запись в файлы

Для записи данных в файл используйте методы fs.writeFile и fs.writeFileSync.

Асинхронная запись

fs.writeFile('example.txt', 'Новый текст файла', (err) => {
    if (err) {
        console.error('Ошибка записи файла:', err);
        return;
    }
    console.log('Файл успешно записан');
});

Синхронная запись

try {
    fs.writeFileSync('example.txt', 'Новый текст файла');
    console.log('Файл успешно записан');
} catch (err) {
    console.error('Ошибка записи файла:', err);
}

Добавление данных в файл

Для добавления данных в существующий файл используйте метод fs.appendFile:

fs.appendFile('example.txt', 'Добавленный текст', (err) => {
    if (err) {
        console.error('Ошибка добавления в файл:', err);
        return;
    }
    console.log('Данные успешно добавлены');
});

Удаление файлов

Чтобы удалить файл, используйте метод fs.unlink:

fs.unlink('example.txt', (err) => {
    if (err) {
        console.error('Ошибка удаления файла:', err);
        return;
    }
    console.log('Файл успешно удален');
});

Создание директории

Для создания новой директории используйте метод fs.mkdir:

fs.mkdir('new_directory', (err) => {
    if (err) {
        console.error('Ошибка создания директории:', err);
        return;
    }
    console.log('Директория успешно создана');
});

Чтение содержимого директории

Чтобы прочитать содержимое директории, используйте метод fs.readdir:

fs.readdir('.', (err, files) => {
    if (err) {
        console.error('Ошибка чтения директории:', err);
        return;
    }
    console.log('Содержимое директории:', files);
});

Заключение

Работа с файлами в Node.js — это мощный инструмент, который позволяет создавать, читать, изменять и удалять файлы и директории. Используя методы модуля fs, вы можете эффективно управлять данными в вашем приложении. Не забудьте обрабатывать ошибки, чтобы ваше приложение работало надежно.

Надеюсь, этот обзор поможет вам начать работу с файлами в Node.js!