Как использовать fs.openSync() в Node.js?

Kak Ispol Zovat Fs Opensync V Node Js



Node.js» модуль Система представляет собой фрагмент многократно используемого кода JavaScript. Это строительный блок приложения Node.js, который позволяет разработчикам лучше структурировать, увеличивать скорость работы и повторно использовать код при необходимости. Он разделен на три основные категории: «встроенные», «локальные» и «сторонние» модули.

Благодаря большому разнообразию встроенных модулей « фс (Файловая система) Модуль имеет дело с файлами операционной системы, обеспечивая доступ к ним для чтения, записи, удаления, обновления и переименования. В этом модуле имеется множество полезных методов для выполнения этих конкретных задач в зависимости от их названий и функций, например, метод «fs.open()» открывает файл асинхронно, «fs.openSync()» открывает конкретный файл синхронно и т. д. .

В этой статье будет подробно рассмотрено использование метода «fs.openSync()» в Node.js.







Предварительные требования: Прежде чем перейти к практической реализации какого-либо метода, сначала создайте « .js ” файл любого имени и записать в него весь исходный код. В этом сценарии мы создали « index.js ' файл.



Что такое «fs.openSync()» в Node.js?

« фс.openSync() » — это предопределенный метод модуля «fs», который синхронно открывает файл для выполнения общих операций: таких как чтение, запись, переименование, обновление и удаление. Наряду со своими базовыми функциями этот метод возвращает « дескриптор файла » напрямую, вместо вызова функции обратного вызова, как в методе «fs.open()».



« дескриптор файла ” — это просто неотрицательный целочисленный индекс в таблице дескрипторов файлов. По сути, он действует как ссылка, позволяющая легко идентифицировать открытый файл в операционной системе. Таблица файловых дескрипторов представляет собой массив внутри «PCB (блока управления процессами)», в котором хранятся записи всех процессов операционной системы.





Как использовать fs.openSync() в Node.js?

Чтобы использовать синхронный « фс.openSync() ” в Node.js, следуйте приведенному ниже обобщенному синтаксису:

фс. openSync ( путь, флаги, режим )

Параметры, используемые в приведенном выше методе «fs.openSync()», описаны ниже:



  • путь: Он указывает имя и путь к конкретному файлу в форме строки, URL-адреса или буфера.
  • флаги: Он обозначает строковое или числовое значение, определяющее операции, которые будут выполняться с открытым файлом. Его значение по умолчанию: « р (читать)» по умолчанию.
  • режим: Он обозначает права доступа к файлу, который по умолчанию имеет значение «0o666 (доступно как для чтения, так и для записи)».

Возвращаемое значение: «fs.openSync()» предоставляет целое число в качестве возвращаемого значения, которое обозначает дескриптор файла.

Пример 1. Применение метода «fs.openSync()» с флагом по умолчанию

В этом примере применяется метод «fs.openSync()», чтобы открыть указанный файл для чтения и возврата дескриптора файла:

константа фс '=' требовать ( 'фс' ) ;

константа имя файла '=' './myFile.txt' ;

константа рез '=' фс. openSync ( имя файла, 'р' ) ;

консоль. бревно ( рез ) ;

Объяснение приведенных выше строк кода следующее:

  • Во-первых, « требовать() ” включает модуль “fs” в текущий проект Node.js.
  • Далее « имя файла Переменная ” указывает путь и имя нужного файла, который пользователь хочет открыть для чтения.
  • После этого переменная «res» использует « фс.openSync() ” метод, который определяет переменную “имя файла” и “ р (читать) ” в качестве первого и второго аргументов соответственно.
  • Наконец, « консоль.log() ” метод отображает выходные данные “ рез ' переменная.

Выход

Запустите файл index.js:

индекс узла. js

Следующий вывод возвращает указанный индекс файла в таблицу дескрипторов файлов:

Пример 2. Применение метода «fs.openSync()» для открытия файла для записи

В этом примере показана практическая реализация метода «fs.openSync()» для открытия вновь созданного файла и добавления к нему указанного содержимого:

константа фс '=' требовать ( 'фс' ) ;

константа ФД '=' фс. openSync ( './sampleFile.txt' , 'В' , 0о666 ) ;

фс. записьсинхронизировать ( ФД, «Добро пожаловать в Linuxhint!» ) ;

setTimeout ( функция ( ) {

консоль. бревно ( «Файл сейчас закрыт» ) ;

фс. closeSync ( ФД ) ;

} , 10000 ) ;

консоль. бревно ( «Операция завершена!» ) ;

В приведенных выше строках кода:

  • « фс.openSync() ” метод указывает конкретный файл “ путь ', ' ш (написать) ” и режим по умолчанию “ 0о666 (разрешения на чтение и запись)» в качестве аргументов. Этот метод откроет указанный файл для записи. Если он не существует, сначала будет создан данный файл.
  • « фс.writeSync() метод определяет « ФД (дескриптор файла)» и заданный «текст», который пользователь хочет записать в указанный файл, в качестве его первого и второго параметров соответственно. Этот метод записывает указанный текстовый оператор в открытый файл.
  • « setTimeout() ” вызывает функцию, в которой метод “console.log()” отображает текстовый оператор и “ фс.closeSync() ” закрывает открытый файл после указанной задержки.
  • Последний метод «console.log()» отображает сообщение о проверке.

Выход

Запустите файл «index.js»:

индекс узла. js

В приведенном ниже выводе показано проверочное сообщение после синхронного завершения указанной операции и закрытие открытого файла после заданной задержки:

Для дополнительной проверки перейдите по структуре папок текущего проекта Node.js. На снимке экрана ниже подтверждается, что файл sampleFile.txt был создан вместе с указанным содержимым:

Вот и все, что касается использования метода «fs.openSync()» в Node.js.

Заключение

Чтобы использовать « фс.openSync() ” в Node.js укажите желаемый “ Путь к файлу », и « флаг » в качестве обязательных параметров. Этот метод сначала открывает файл синхронно, а затем выполняет над ним указанную операцию на основе заданного флага. Пользователь может выполнять операции чтения, записи, удаления и добавления к открытому файлу. В основном он используется для возврата целочисленного значения, известного как « дескриптор файла ». В этой статье подробно описано использование метода «fs.openSync()» в Node.js.