Рубрики
Без рубрики

Модуль fs узла

Модуль fs для Node.js предоставляет полезные функции для взаимодействия с файловой системой

Модуль fs предоставляет множество очень полезных функций для доступа к файловой системе и взаимодействия с ней.

Нет необходимости устанавливать его. Будучи частью ядра узла, его можно использовать, потребовав его:

const fs = require('fs')

Как только вы это сделаете, у вас будет доступ ко всем его методам, которые включают:

  • fs.access() : проверьте, существует ли файл, и узел может получить к нему доступ с его разрешениями
  • fs.добавить файл() : добавить данные в файл. Если файл не существует, он создается
  • fs.chmod() : измените права доступа к файлу, указанному в переданном имени файла. Связанные: fs.lchmod() , fs.fchmod()
  • fs.chown() : измените владельца и группу файла, указанного переданным именем файла. Связанные: fs.fchown() , fs.lchown()
  • Связанные: fs.fchown()
  • , fs.lchown() ()
  • : закрыть файловый дескриптор fs.CopyFile()
  • : копирует файл fs.createReadStream()
  • : создание потока файлов для чтения fs.createReadStream()
  • : создание потока файлов для чтения () : создайте файловый поток, доступный для записи
  • fs.link() : создайте новую жесткую ссылку на файл
  • fs.mkdir() : создать новую папку
  • fs.mkdtemp() : создать временный каталог
  • fs.открыть() : установить режим файла fs.readdir()
  • : чтение содержимого каталога fs.ReadFile()
  • : чтение содержимого файла. Связанный: fs.читать() fs.readlink() : считывание значения символической ссылки fs.realpath() : разрешить относительные указатели пути к файлам (
  • . ,
  • .. ) к полному пути
  • fs.переименовать() : переименовать файл или папку fs.rmdir() : удалить папку fs.stat()
  • : возвращает статус файла, идентифицированного по переданному имени файла. Связанные: fs.fstat()
  • , fs.lstat() fs.символическая ссылка()
  • : создайте новую символическую ссылку на файл fs.усечь()
  • : усечь до указанной длины файл, идентифицированный переданным именем файла. Связанный: fs.ftruncate()
  • fs.unlink() : удалить файл или символическую ссылку fs.unwatchfile()
  • : прекратить наблюдение за изменениями в файле fs.utimes() : измените метку времени файла, идентифицируемую переданным именем файла. Связанный:
  • fs.futimes() fs.watchFile() : начните отслеживать изменения в файле. Связанный:

Одна странная вещь о модуль fs заключается в том, что все методы по умолчанию асинхронны, но они также могут работать синхронно, добавляя Синхронизация .

Например:

  • fs.переименовать()
  • fs.Переименование синхронизации()
  • fs.написать()
  • fs.Синхронизация записи()

Это имеет огромное значение в потоке ваших приложений.

Узел 10 включает экспериментальную поддержку для API на основе обещаний

Например, давайте рассмотрим метод fs.rename() . Асинхронный API используется с обратным вызовом:

const fs = require('fs')

fs.rename('before.json', 'after.json', (err) => {
  if (err) {
    return console.error(err)
  }

  //done
})

Асинхронный API можно использовать таким образом, с блоком try/catch для обработки ошибок:

const fs = require('fs')

try {
  fs.renameSync('before.json', 'after.json')
  //done
} catch (err) {
  console.error(err)
}

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

Оригинал: “https://flaviocopes.com/node-module-fs/”