В голямото разнообразие от вградени модули „ fs (файлова система) ” модулът се занимава с файлове на операционната система по начин на достъп за четене, запис, изтриване, актуализиране и преименуване. Този модул идва с много полезни методи за изпълнение на тези конкретни задачи въз основа на техните имена и функционалности, като например методът „fs.open()“ отваря файла асинхронно, „fs.openSync()“ отваря конкретния файл синхронно и т.н. .
Това описание ще разработи подробно използването на метода „fs.openSync()“ в Node.js.
Предпоставки: Преди да преминете към практическото прилагане на който и да е метод, първо създайте „ .js ” файл с произволно име и запишете целия изходен код в него. В този сценарий създадохме „ index.js ” файл.
Какво е „fs.openSync()“ в Node.js?
„ fs.openSync() ” е предварително дефинираният метод на модула „fs”, който синхронно отваря файла, за да извърши общи операции: като четене, запис, преименуване, актуализиране и изтриване. Заедно с основната си функционалност, този метод връща „ файлов дескриптор ” директно, вместо да извиквате функцията за обратно извикване, както в метода „fs.open()”.
„ файлов дескриптор ” е просто неотрицателен индекс на цяло число в таблицата на файловия дескриптор. По принцип действа като препратка за лесно идентифициране на отворен файл в операционна система. Таблицата с файлови дескриптори е масив в рамките на „PCB (блок за контрол на процеса)“, който съхранява записите на всички процеси на операционна система.
Как да използвам fs.openSync() в Node.js?
За да използвате синхронния „ fs.openSync() ” в Node.js, следвайте посочения по-долу обобщен синтаксис:
fs. openSync ( път, флагове, режим )Параметрите, използвани в горния метод „fs.openSync()“ са обяснени по-долу:
- път: Той определя името и пътя на конкретния файл под формата на низ, URL или буфер.
- знамена: Той обозначава низ или числова стойност, която определя операциите, които ще бъдат извършени върху отворения файл. Стойността му по подразбиране е „ r (четене)” по подразбиране.
- режим: Той обозначава разрешенията на файла, който по подразбиране е „0o666 (както за четене, така и за запис)“.
Върната стойност: „fs.openSync()“ предоставя цяло число като върната стойност, която обозначава файловия дескриптор.
Пример 1: Прилагане на метода „fs.openSync()“ с флаг по подразбиране
Този пример прилага метода “fs.openSync()” за отваряне на посочения файл за четене и връщане на файловия дескриптор:
конст fs = изискват ( 'fs' ) ;конст име на файл = './myFile.txt' ;
конст рез = fs. openSync ( име на файл, 'р' ) ;
конзола. дневник ( рез ) ;
Обяснението на горните кодови редове е както следва:
- Първо, „ изисквам() ” включва модула „fs” в текущия проект Node.js.
- След това „ име на файл ” променливата указва пътя и името на желания файл, който потребителят иска да отвори за четене.
- След това променливата „res“ използва „ fs.openSync() ”, който указва променливата „filename” и „ r (четене) ” като първи и втори аргумент съответно.
- И накрая, „ console.log() ” показва резултата от „ рез ” променлива.
Изход
Изпълнете файла 'index.js':
индекс на възел. jsСледният изход връща посочения файлов индекс в таблицата на файловия дескриптор:
Пример 2: Прилагане на метода „fs.openSync()“ за отваряне на файл за запис
Този пример показва практическото прилагане на метода “fs.openSync()” за отваряне на новосъздадения файл и добавяне към него с посоченото съдържание:
конст fs = изискват ( 'fs' ) ;конст fd = fs. openSync ( './sampleFile.txt' , 'в' , 0o666 ) ;
fs. writeSync ( fd, „Добре дошли в Linuxhint!“ ) ;
setTimeout ( функция ( ) {
конзола. дневник ( „Файлът е затворен сега“ ) ;
fs. closeSync ( fd ) ;
} , 10 000 ) ;
конзола. дневник ( „Операцията приключи!“ ) ;
В горните кодови редове:
- „ fs.openSync() 'методът определя определен файл' път ', ' w (напиши) ' флаг и режимът по подразбиране ' 0o666 (както разрешения за четене, така и за писане)” като негови аргументи. Този метод ще отвори посочения файл за запис. Ако не съществува, първо ще създаде дадения файл.
- „ fs.writeSync() ” методът определя „ fd (файлов дескриптор)” и дадения „текст”, който потребителят иска да напише в посочения файл съответно като първи и втори параметър. Този метод записва цитирания текст в отворения файл.
- „ setTimeout() ' извиква функция, в която методът 'console.log()' показва текстов израз и ' fs.closeSync() ” затваря отворения файл след определеното времезакъснение.
- Последният метод “console.log()” показва съобщението за проверка.
Изход
Стартирайте файла 'index.js':
индекс на възел. jsИзходът по-долу показва съобщение за проверка след завършване на определената операция по синхронен начин и затваря отворения файл след даденото забавяне:
За повече проверка навигирайте в структурата на папките на текущия проект Node.js. Екранната снимка по-долу потвърждава, че файлът „sampleFile.txt“ е създаден заедно с посоченото съдържание:
Това е всичко за използването на метода „fs.openSync()“ в Node.js.
Заключение
За да използвате „ fs.openSync() ” в Node.js, посочете желания „ файлова пътека “, и „ знаме ” като негови задължителни параметри. Този метод първо отваря файла синхронно и след това изпълнява определената операция върху него въз основа на дадения флаг. Потребителят може да извършва операции за четене, запис, изтриване и добавяне на отворения файл. Използва се главно за връщане на цяло число, което е известно като „ файлов дескриптор ”. Това описание разработи подробно използването на метода „fs.openSync()“ в Node.js.