Node.js FS — Файловая система

Node.js FS — Файловая система

От автора: Node реализует ввод/вывод файлов с использованием простых оболочек для стандартных функций POSIX. Модуль Node js FS (File System) может быть импортирован с помощью синтаксиса, представленного ниже.

 

Синхронная и асинхронная формы

Каждый метод в модуле fs имеет как синхронную, так и асинхронную форму. Асинхронные методы принимают в качестве последнего параметра функции обратного вызова завершения и в качестве первого параметра функции обратного вызова — ошибки. Более эффективным является использование асинхронного метода, поскольку он не блокирует программу во время ее выполнения.

Пример

Создайте текстовый файл с именем input.txt со следующим содержимым:

Создайте файл js с именем main.js со следующим кодом:

Теперь запустите main.js:

В результате вы должны получить следующее.

В следующих разделах этой главы представлен набор практических примеров основных методов для работы с файлами.

Открытие файла

Синтаксис. Ниже приведен синтаксис метода для открытия файла в асинхронном режиме:

Параметры

Ниже приводится описание используемых параметров —

path — это строка с именем файла, включая путь к нему.

flags — указывают режим работы с файлом, который нужно открыть. Все возможные значения приведены ниже.

mode — устанавливает режим файла (права доступа), но только если файл был создан. По умолчанию — 0666, чтение и запись.

callback — это функция обратного вызова, которая принимает два аргумента (err, fd).

Flags

Флаги для операций чтения/записи –

r — Открыть файл для чтения. Если файл не существует, добавляется исключение.

г+ — Открыть файл для чтения и записи. Если файл не существует, добавляется исключение.

rs — Открыть файл для чтения в синхронном режиме.

rs+ — Открыть файл для чтения и записи, запросив у ОС открыть его в синхронном режиме. Смотрите примечания для «rs» относительно использования данного флага.

w — Открыть файл для записи. Файл создается (если он не существует) или усекается (если он существует).

wx — Работает так же как «w», но не выполняется, если путь существует.

w+ — Открыть файл для чтения и записи. Если файл не существует, он создается, если файл существует, он усекается.

wx+ — Работает так же как «w+», но не выполняется, если путь существует.

a — Открыть файл для дополнения. Если файл не существует, он создается.

ax — Работает как «а», но не выполняется, если путь существует.

a+ — Открыть файл для чтения и расширения. Если файл не существует, он создается.

ах+ — Работает так же как «a+», но не выполняется, если путь существует.

Пример

Создайте файл js с именем main.js, содержащий следующий код, чтобы открыть файл input.txt для чтения и записи.

Теперь запустите main.js:

В результате вы должны получить следующее.

Получение информации о файлах

Синтаксис. Ниже приведен синтаксис метода для получения информации о файле:

Параметры

Ниже приводится описание используемых параметров —

path — это строка с именем файла, включая путь к нему.

callback — это функция обратного вызова, которая принимает два аргумента (err, stats), где stats — это объект типа fs.Stats, который приведен в примере ниже.

Помимо атрибутов, которые приведены в примере ниже, в классе fs.Stats содержится несколько важных методов, которые можно использовать для проверки типа файла. Эти методы приведены в следующей таблице.

stats.isFile() — Возвращает true, если тип файла — простой файл.

stats.isDirectory() — Возвращает true, если тип файла — каталог.

stats.isBlockDevice() — Возвращает true, если тип файла — блочное устройство.

stats.isCharacterDevice() — Возвращает true, если тип файла — символьное устройство.

stats.isSymbolicLink() — Возвращает true, если тип файла — символьная ссылка.

stats.isFIFO() — Возвращает true, если тип файла — FIFO.

stats.isSocket() — Возвращает true, если тип файла — сокет.

Пример

Создайте файл js с именем main.js со следующим кодом:

Теперь запустите main.js:

В результате вы должны получить следующее.

Запись файла

Синтаксис. Ниже приведен синтаксис одного из способов записи в файл:

Этот метод перезаписывает файл, если файл уже существует. Если вы хотите дописать что-то в существующий файл, вы должны использовать другой доступный метод.

Параметры

Ниже приводится описание используемых параметров —

path — это строка с именем файла, включая путь к нему.

data – это строка или буфер, которые должны быть записаны в файл.

options — Третий параметр — это объект, который содержит {encoding, mode, flag}. По умолчанию encoding — utf8, mode — восьмеричное значение 0666 и flag — w,

callback — это функция обратного вызова, которая получает единственный параметр err, который возвращает ошибку в случае возникновения ошибки записи.

Пример

Создайте файл js с именем main.js, содержащий следующий код —

Теперь запустите main.js:

В результате вы получите следующее.

Чтение файла

Синтаксис. Ниже приведен синтаксис одного из методов чтения из файла:

Этот метод использует для чтения файла файловый дескриптор. Если вы хотите считать файл напрямую, с помощью имени файла, используйте другой метод.

Параметры

Ниже приводится описание используемых параметров:

fd — это дескриптор файла, возвращаемый функцией fs.open().

buffer — это буфер, в который будут записаны данные.

offset — это смещение в буфере к позиции начала записи.

length — это целое число, определяющее количество прочитанных байтов.

position — Это целое число, указывающее, с какой позиции должно начинаться чтение файла. Если позиция равна нулю, данные будут считываться с текущей позиции файла.

callback — это функция обратного вызова, которая принимает три аргумента (err, bytesRead, buffer).

Пример

Создайте файл js с именем main.js со следующим кодом:

Теперь запустите main.js:

В результате вы должны получить следующее.

Закрытие файла

Синтаксис. Ниже приведен синтаксис для закрытия открытого файла:

Параметры

Ниже приводится описание используемых параметров —

fd — это дескриптор файла, возвращаемый методом fs.open().

callback — это функция обратного вызова. функции обратного вызова завершения не передаются никакие аргументы, кроме возможных исключений.

Пример

Создайте файл js с именем main.js, содержащий следующий код:

Теперь запустите main.js:

В результате вы должны получить следующее.

Усечение файла

Синтаксис. Ниже приведен синтаксис метода усечения открытого файла:

Параметры

Ниже приводится описание используемых параметров —

fd — это дескриптор файла, возвращаемый функцией fs.open().

len — длина файла, до которой он будет усечен.

callback — это функция обратного вызова. Никакие аргументы кроме возможных исключений не передаются функции обратного вызова завершения.

Пример

Создайте файл js с именем main.js, содержащий следующий код:

Теперь запустите main.js:

В результате вы должны получить следующее.

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

Синтаксис. Ниже приведен синтаксис метода для удаления файла:

Параметры

Ниже приводится описание используемых параметров —

path — это имя файла, включая путь к нему.

callback — это функция обратного вызова. Никакие аргументы кроме возможных исключений не передаются функции обратного вызова завершения.

Пример

Создадим файл js с именем main.js, содержащий следующий код:

Теперь запустите main.js:

В результате вы должны получить следующее.

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

Синтаксис. Ниже приведен синтаксис метода для создания директории:

Параметры

Ниже приводится описание используемых параметров —

path — это имя директории, включая путь к ней.

mode – это права доступа к директории. По умолчанию — 0777.

callback — это функция обратного вызова. Никакие аргументы кроме возможных исключений не передаются функции обратного вызова завершения.

Пример

Создайте файл js с именем main.js, имеющий следующий код:

Теперь запустите main.js —

В результате вы получите следующее.

Чтение директории

Синтаксис. Ниже приведен синтаксис метода для чтения директории —

Параметры

Ниже приводится описание используемых параметров:

path — это имя директории, включая путь к ней.

callback — это функция обратного вызова, которая принимает два аргумента (err, files), где files — это массив имен файлов в директории, не включающих «.», а также ‘..’.

Пример

Создайте файл js с именем main.js, имеющий следующий код:

Теперь запустите main.js:

В результате вы должны получить следующее.

Удаление директории

Синтаксис. Ниже приведен синтаксис метода для удаления директории:

Параметры

Ниже приводится описание используемых параметров:

path — это имя директории, включая путь к ней.

callback — это функция обратного вызова. Никакие аргументы кроме возможных исключений не передаются функции обратного вызова завершения.

Пример

Создайте файл js с именем main.js, имеющий следующий код —

Теперь запустите main.js:

В результате вы должны получить следующее.

Источник: //www.tutorialspoint.com/

Редакция: Команда webformyself.

Метки:

Похожие статьи:

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