В Node.js « дескриптор файла ” — это просто неотрицательный целочисленный индекс в таблице дескрипторов файлов. Таблица файловых дескрипторов представляет собой массив внутри « Печатная плата (блок управления процессом) », который хранит записи всех процессов операционной системы. Он действует как ссылка на открытый файл, которая используется для простой идентификации открытого файла или доступа к нему в операционной системе. После доступа к открытому файлу через « дескриптор файла », то пользователь может выполнить с ним желаемую операцию в соответствии с требованиями.
Эта статья покажет, как пользователь может взаимодействовать с файловыми дескрипторами в Node.js.
Как взаимодействовать с файловыми дескрипторами в Node.js?
Пользователь может взаимодействовать с файловыми дескрипторами, получая их с помощью приведенных ниже предопределенных методов « фс » модуль:
- Используйте «fs.open()» для получения дескриптора файла
- Используйте «fs.openSync()» для получения дескриптора файла
- Используйте «fsPromise.open()» для получения дескриптора файла
Давайте подробно остановимся на этих методах один за другим.
Способ 1: используйте «fs.open()» для получения дескриптора файла
« фс.открыть ()» — наиболее часто используемый метод « фс », который асинхронно открывает файл для выполнения нескольких операций, таких как чтение, запись, переименование, обновление и удаление. Более того, он также возвращает « дескриптор файла » после выполнения определенной операции над открытым файлом через функцию обратного вызова.
Синтаксис
Основной синтаксис « фс.открыть ()» описан ниже:
фс. открыть ( имя файла , флаги , режим , перезвонить )Согласно приведенному выше синтаксису, « фс.открыть ()» поддерживает следующие параметры:
- имя файла : указывает имя, а также путь к конкретному файлу, который пользователь хочет открыть.
- флаги : обозначает операции, которые будут выполнены с открытым файлом. Его значение по умолчанию — «r(read)».
- режим : указывает права доступа к файлу, который « 0o666 (доступен как для чтения, так и для записи) ' по умолчанию.
- перезвонить : выполняется после завершения « фс.открыть ()». Он поддерживает « ошибаться ” параметр, который выдает ошибку, если она возникает во время выполнения метода и 'данные' параметр, который возвращает « fd(дескриптор файла) » для доступа к открытому файлу.
Возвращаемое значение: « фс.open() ” дает дескриптор файла в качестве возвращаемого значения.
Различные доступные флаги, используемые вместе с файловыми дескрипторами в Node.js
Все типы флагов, которые « фс.open() Поддержка методов для выполнения желаемых операций над открытым файлом перечислена ниже:
Флаги | Описание |
---|---|
В | Он используется для записи содержимого в открытый файл, без его представления будет создан новый файл. |
ш+ | Он используется для открытия файла для выполнения над ним операций чтения и записи. |
шх | Это работает так же, как « В ». Однако он не создает указанный файл, если его нет в файловой системе. |
шх+ | Это то же самое, что « ш+ Однако это не удастся, если файл не существует. |
р | Он открывает файл для его чтения, а также создает новый файл, если он отсутствует. |
р+ | Он открывает файл в режиме чтения и записи. |
rs+ | Он синхронно открывает файл для выполнения задач чтения и записи в него. |
а | Он открывает файл для добавления его содержимого. |
а+ | Он открывает файл для чтения и добавления его содержимого. |
топор | Это то же самое, что « а », но он не создает новый файл, если он не был последним в файловой системе. |
топор+ | Это работает так же, как « а+ Однако он не создает новый файл. |
После получения основ « фс.открыть ()» перейдем к его практической реализации для получения дескриптора файла.
Пример: применение метода «fs.open()» для получения дескриптора файла с флагом по умолчанию
В этом примере показано, как применяется «фс.открыть()» метод открытия указанного файла для чтения и возврата дескриптора файла:
константа фс '=' требовать ( 'фс' ) ;был рез '=' фс. открыть ( 'файл.txt' , 'р' , функция ( ошибаться , ФД ) {
если ( ошибаться ) {
консоль. ошибка ( ошибаться ) ;
} еще {
консоль. бревно ( «Файл открыт!» ) ;
консоль. бревно ( ФД ) ; }
} ) ;
Объяснение приведенного выше блока кода следующее:
- Во-первых, « требовать ()» импортирует « фс (файловая система) » модуль.
- Далее « фс.открыть ()» указывает желаемое имя папки, флаг по умолчанию « р » и функцию обратного вызова в качестве первого, второго и третьего аргумента соответственно. Функция обратного вызова далее передает « ошибаться » и « ФД аргументы. Этот метод открывает указанный файл для чтения, а затем выполняет заданную функцию обратного вызова.
- В определении функции обратного вызова « если В заявлении используется оператор « консоль.ошибка() ” для отображения сообщения об ошибке, возникающего при открытии указанного файла.
- Если ошибок не возникает, то « еще ” будет выполнен оператор, использующий “ консоль.log ()» для отображения проверочного сообщения и «дескриптора файла», который обозначается « ФД аргумент.
Выход
Теперь выполняет выполнение для содержания « приложение .js» через:
приложение узла. jsВывод ниже показывает, что файл открыт для чтения, а также возвращает дескриптор файла:
Способ 2: используйте «fs.openSync()» для получения дескриптора файла
« фс.openSync ()» — это предопределенный метод « фс », который синхронно открывает файл для выполнения общих операций: чтения, записи, переименования, обновления и удаления. Наряду со своими базовыми функциями этот метод возвращает « дескриптор файла » напрямую, вместо вызова функции обратного вызова, как в « фс.открыть ()».
Синтаксис
фс. openSync ( путь , флаги , режим )Параметры, используемые в приведенном выше « фс.openSync() метод объясняется ниже:
- путь : указывает имя и путь к конкретному файлу в форме строки, URL-адреса или буфера.
- флаги : обозначает строковое или числовое значение, определяющее операции, которые будут выполняться с открытым файлом. Его значение по умолчанию — «r(read)».
- режим : Обозначает права доступа к файлу, который « 0o666 (доступен как для чтения, так и для записи) ' по умолчанию.
Возвращаемое значение: « фс.openSync() ” предоставляет целое число в качестве возвращаемого значения, которое обозначает дескриптор файла.
Следуйте нашему подробному руководству по теме « Метод fs.openSync() » для практической реализации.
Способ 3: используйте «fsPromise.open()» для получения дескриптора файла
« fsPromises.open() » — это предопределенный метод « фс ” модуль, который асинхронно открывает файл как обещание и возвращает “ дескриптор файла ». Если обещание разрешено, оно проверяет, открыта ли указанная папка, в противном случае оно отклоняется с объектом ошибки.
Синтаксис
fsPromises. открыть ( имя файла , флаги , режим )« fsPromises.open ()» работает со следующими тремя параметрами:
- имя файла : сообщает конкретное имя файла и путь в виде строки, URL-адреса или буфера, которые пользователь хочет прочитать по умолчанию.
- флаги : это может быть строка или неотрицательное целое значение, определяющее операции, которые необходимо выполнить с открытым файлом. Его значение по умолчанию — «r(read)».
- режим : он определяет права доступа к файлу: « 0o666 (доступен как для чтения, так и для записи) ' по умолчанию.
Возвращаемое значение: Это дает « обещать ” как возвращаемое значение “ fsPromises.open ()».
Следуйте нашему подробному руководству по теме « Метод fsPromises.open() » для практической реализации.
Какие различные операции можно выполнять с файловыми дескрипторами в Node.js?
После получения дескриптора файла пользователь может использовать его для доступа к этому конкретному файлу и выполнения с ним различных операций, таких как открытие, закрытие, чтение, запись и многое другое. Для выполнения этих конкретных операций следуйте нашему подробному руководству « Модуль файловой системы ».
Вот и все, что касается взаимодействия с файловыми дескрипторами в Node.js.
Заключение
Для взаимодействия с файловыми дескрипторами используйте команду « fs.open()», «fs.openSync() ', или ' fsPromises.open() » в Node.js. Все эти методы открывают файл для выполнения с ним различных операций, указанных в параметре « флаг параметр », а также вернуть параметр « дескриптор файла », который является ссылкой на открытый файл. В этой статье подробно описано, как взаимодействовать с файловыми дескрипторами в Node.js.