Dzięki dużej różnorodności wbudowanych modułów „ fs(System plików) ” zajmuje się plikami systemu operacyjnego w sposób umożliwiający ich odczyt, zapis, usuwanie, aktualizację i zmianę ich nazw. Moduł ten zawiera wiele przydatnych metod wykonywania tych konkretnych zadań w oparciu o ich nazwy i funkcjonalności, takie jak metoda „fs.open()” otwiera plik asynchronicznie, „fs.openSync()” otwiera określony plik synchronicznie i tak dalej .
W tym artykule omówiono użycie metody „fs.openSync()” w Node.js.
Wymagania wstępne: Zanim przejdziesz do praktycznego wdrożenia jakiejkolwiek metody, najpierw utwórz „ .js ” o dowolnej nazwie i zapisz w nim cały kod źródłowy. W tym scenariuszu stworzyliśmy „ indeks.js ' plik.
Co to jest „fs.openSync()” w Node.js?
„ fs.openSync() ” to predefiniowana metoda modułu „fs”, która synchronicznie otwiera plik w celu wykonania typowych operacji: odczytu, zapisu, zmiany nazwy, aktualizacji i usunięcia. Oprócz podstawowej funkcjonalności metoda ta zwraca „ deskryptor pliku ” zamiast wywoływać funkcję wywołania zwrotnego jak w metodzie „fs.open()”.
„ deskryptor pliku ” jest po prostu nieujemną liczbą całkowitą w tabeli deskryptorów plików. Zasadniczo działa jako odniesienie umożliwiające łatwą identyfikację otwartego pliku w systemie operacyjnym. Tabela deskryptorów plików to tablica w „PCB (bloku sterowania procesem)”, która przechowuje zapisy wszystkich procesów systemu operacyjnego.
Jak używać fs.openSync() w Node.js?
Aby użyć synchronicznego „ fs.openSync() ” w Node.js, postępuj zgodnie z podaną poniżej uogólnioną składnią:
fs. openSync ( ścieżka, flagi, tryb )Parametry użyte w powyższej metodzie „fs.openSync()” wyjaśniono poniżej:
- ścieżka: Określa nazwę i ścieżkę konkretnego pliku w postaci ciągu znaków, adresu URL lub bufora.
- flagi: Oznacza ciąg znaków lub wartość liczbową określającą operacje, które zostaną wykonane na otwartym pliku. Jego domyślna wartość to „ R (czytaj)” domyślnie.
- tryb: Oznacza uprawnienia do pliku, które domyślnie to „0o666 (zarówno do odczytu, jak i do zapisu)”.
Wartość zwracana: Funkcja „fs.openSync()” dostarcza liczbę całkowitą jako zwracaną wartość, która oznacza deskryptor pliku.
Przykład 1: Zastosowanie metody „fs.openSync()” z flagą domyślną
W tym przykładzie zastosowano metodę „fs.openSync()” w celu otwarcia określonego pliku w celu odczytania i zwrócenia deskryptora pliku:
konst fs = wymagać ( „fs” ) ;konst Nazwa pliku = „./mójPlik.txt” ;
konst rez = fs. openSync ( Nazwa pliku, 'R' ) ;
konsola. dziennik ( rez ) ;
Wyjaśnienie powyższych linii kodu jest następujące:
- Po pierwsze, „ wymagać() ” zawiera moduł „fs” w bieżącym projekcie Node.js.
- Następnie „ Nazwa pliku ” określa ścieżkę i nazwę żądanego pliku, który użytkownik chce otworzyć do odczytu.
- Następnie zmienna „res” wykorzystuje „ fs.openSync() ”, która określa zmienną „nazwa pliku”, oraz metodę „ r(czytaj) ” jako odpowiednio pierwszy i drugi argument.
- Wreszcie „ konsola.log() ” wyświetla wynik metody „ rez ' zmienny.
Wyjście
Uruchom plik „index.js”:
indeks węzła. jsPoniższe dane wyjściowe zwracają określony indeks pliku do tabeli deskryptorów plików:
Przykład 2: Zastosowanie metody „fs.openSync()” do otwarcia pliku do zapisu
Poniższy przykład pokazuje praktyczną implementację metody „fs.openSync()” otwierającej nowo utworzony plik i dołączającej do niego określoną treść:
konst fs = wymagać ( „fs” ) ;konst fd = fs. openSync ( „./sampleFile.txt” , 'w' , 0o666 ) ;
fs. napiszSync ( fd, „Witamy w Linuxhint!” ) ;
ustaw limit czasu ( funkcjonować ( ) {
konsola. dziennik ( „Plik jest teraz zamknięty” ) ;
fs. zamknijSync ( fd ) ;
} , 10000 ) ;
konsola. dziennik ( „Operacja zakończona!” ) ;
W powyższych liniach kodu:
- „ fs.openSync() ” metoda określa konkretny plik „ ścieżka „”, „ w(pisz) ” flaga i tryb domyślny „ 0o666 (zarówno uprawnienia do odczytu, jak i zapisu)” jako argumenty. Ta metoda otworzy określony plik do zapisu. Jeżeli nie istnieje to najpierw utworzy podany plik.
- „ fs.writeSync() ” metoda określa „ fd (deskryptor pliku)” i podany „tekst”, który użytkownik chce zapisać w określonym pliku, odpowiednio jako jego pierwszy i drugi parametr. Ta metoda zapisuje cytowaną instrukcję tekstową do otwartego pliku.
- „ setTimeout() ” wywołuje funkcję, w której metoda „console.log()” wyświetla instrukcję tekstową, a metoda „ fs.closeSync() ” zamyka otwarty plik po upływie określonego czasu.
- Ostatnia metoda „console.log()” wyświetla komunikat weryfikacyjny.
Wyjście
Uruchom plik „index.js”:
indeks węzła. jsPoniższe dane wyjściowe pokazują komunikat weryfikacyjny po synchronicznym wykonaniu określonej operacji i zamykają otwarty plik po zadanym opóźnieniu:
Aby uzyskać większą weryfikację, przejdź do struktury folderów bieżącego projektu Node.js. Poniższy zrzut ekranu potwierdza, że plik „sampleFile.txt” został utworzony wraz z określoną zawartością:
Chodzi o użycie metody „fs.openSync()” w Node.js.
Wniosek
Aby skorzystać z opcji „ fs.openSync() ” w Node.js, określ żądaną metodę „ ścieżka pliku ” i „ flaga ” jako jego obowiązkowe parametry. Ta metoda najpierw otwiera plik synchronicznie, a następnie wykonuje na nim określoną operację w oparciu o podaną flagę. Użytkownik może wykonywać operacje odczytu, zapisu, usuwania i dołączania na otwartym pliku. Służy głównie do zwracania wartości całkowitej, znanej jako „ deskryptor pliku ”. W tym artykule omówiono szczegółowo użycie metody „fs.openSync()” w Node.js.