Node.js | fs.opendirSync () Метод

Опубликовано: 1 Августа, 2021

Метод fs.opendirSync () используется для синхронного открытия каталога в файловой системе. Он возвращает объект fs.Dir, который используется для представления каталога. Этот объект содержит различные методы, которые можно использовать для доступа к каталогу.

Синтаксис:

 fs.opendirSync (путь [, параметры])

Параметры: этот метод принимает два параметра, как указано выше и описано ниже:

  • путь: это строка, буфер или URL-адрес, обозначающий путь к каталогу, который необходимо открыть.
  • options: это строка или объект, который можно использовать для указания дополнительных параметров, которые будут влиять на вывод. У него есть два необязательных параметра:
    • кодировка: это строка, указывающая кодировку для пути при открытии каталога и для последующих операций чтения. Значение по умолчанию - utf8.
    • bufferSize: это число, указывающее количество записей каталога, которые буферизуются внутри при чтении каталога. Более высокое значение означает большую производительность, но приводит к более высокому использованию памяти. Значение по умолчанию - 32.

Возвращаемое значение: он возвращает объект fs.Dir, который представляет каталог и содержит различные методы, которые можно использовать для доступа к нему.

Примеры ниже иллюстрируют метод fs.opendirSync () в Node.js:

Пример 1:




// Node.js program to demonstrate the
// fs.opendirSync() method
// Import the filesystem module
const fs = require( 'fs' );
// Open the directory
console.log( "Opening the directory" );
let openedDir = fs.opendirSync( "example_dir" );
// Print the pathname of the directory
console.log( " Path of the directory:" , openedDir.path);
// Close the directory
console.log( " Closing the directory" );
openedDir.closeSync();

Выход:

Открытие каталога

Путь к каталогу: example_dir

Закрытие каталога

Пример 2:




// Node.js program to demonstrate the
// fs.opendirSync() method
// Import the filesystem module
const fs = require( 'fs' );
// Function to get current filenames
// in directory
filenames = fs.readdirSync( "example_dir" );
console.log( " Current filenames in directory:" );
filenames.forEach((file) => {
console.log(file);
});
// Open the directory
openedDir = fs.opendirSync( "example_dir" );
// Print the pathname of the directory
console.log( " Path of the directory:" , openedDir.path);
// Read the files in the directory
// as fs.Dirent objects
console.log( "First Dirent:" , openedDir.readSync());
console.log( "Next Dirent:" , openedDir.readSync());
console.log( "Next Dirent:" , openedDir.readSync());

Выход:

Текущие имена файлов в каталоге:
example1.txt
example2.txt

Путь к каталогу: example_dir
Первый Dirent: Dirent {name: 'example1.txt', [Символ (тип)]: 1}
Следующий Dirent: Dirent {name: 'example2.txt', [Symbol (type)]: 1}
Next Dirent: null

Ссылка: https://nodejs.org/api/fs.html#fs_fs_opendirsync_path_options