Метод opendir

Метод opendir открывает папку и возвращает объект Dir. В первом параметре метода указывается путь к папке, которую мы хотим открыть. Во втором необязательном параметре задаем объект с опциями. В третьем необязательном параметре указываем коллбэк.

Синтаксис

javascriptfs.opendir(путь к папке, [опции], [коллбэк]);

Объект с опциями

Опция Описание
encoding Режим кодировки данных. Значение по умолчанию 'utf8'.
bufferSize Размер буфера (по умолчанию равен 32).
recursive Рекурсивность - открывает папку со всем содержимым (по умолчанию имеет булевое значение false)

Пример

Пусть у нас есть следующая файловая структура:

Давайте асинхронно откроем папку через await:

<

~show~>

javascriptimport fs from 'fs/promises';

try {
  let data = await fs.opendir('./dir/');
  console.log(data);
} catch (err) {
  console.log(err);
}

Пример

Теперь давайте асинхронно откроем папку через then:

javascriptimport fs from 'fs/promises';

fs.opendir('./dir/').then(data => {
  console.log(data);
}).catch((err) => {
  console.log(err);
});

Пример

Давайте асинхронно откроем папку через коллбэк:

javascriptimport fs from 'fs';

fs.opendir('./dir/', function(err, data) {
  if (!err) {
    console.log(data);
  } else {
    console.log(err);
  }
});

Пример

Теперь давайте синхронно папку через opendirSync:

javascriptimport fs from 'fs';

try {
  let data = fs.opendirSync('./dir/');
  console.log(data);
} catch (err) {
  console.log(err);
}

Смотрите также

  • метод open,
    который открывает файл
  • метод createReadStream,
    открывает поток для чтения данных
  • метод createWriteStream,
    который открывает поток для записи данных