Jak wchodzić w interakcję z deskryptorami plików w Node.js?

Jak Wchodzic W Interakcje Z Deskryptorami Plikow W Node Js



W Node.js „ deskryptor pliku ” jest po prostu nieujemną liczbą całkowitą w tabeli deskryptorów plików. Tabela deskryptorów plików jest tablicą wewnątrz „ PCB (blok kontroli procesu) ”, który przechowuje zapisy wszystkich procesów systemu operacyjnego. Działa jako odniesienie do otwartego pliku, które służy do łatwej identyfikacji otwartego pliku lub łatwego dostępu do niego w systemie operacyjnym. Po uzyskaniu dostępu do otwartego pliku poprzez „ deskryptor pliku ”, wówczas użytkownik może wykonać na nim żądaną operację zgodnie z wymaganiami.

Ten artykuł pokaże, jak użytkownik może wchodzić w interakcję z deskryptorami plików w Node.js.







Jak wchodzić w interakcję z deskryptorami plików w Node.js?

Użytkownik może wchodzić w interakcję z deskryptorami plików w celu ich odzyskania za pomocą opisanych poniżej, predefiniowanych metod „ fs moduł:



Omówmy te metody jeden po drugim.



Metoda 1: Użyj „fs.open()”, aby uzyskać deskryptor pliku

fs.otwarte ()” jest najczęściej stosowaną metodą „ fs ”, który asynchronicznie otwiera plik w celu wykonania kilku operacji, takich jak odczytywanie, zapisywanie, zmiana nazwy, aktualizacja i usuwanie. Co więcej, zwraca również „ deskryptor pliku ” po wykonaniu zdefiniowanej operacji na otwartym pliku poprzez funkcję wywołania zwrotnego.





Składnia

Podstawowa składnia „ fs.otwarte ()” zapisano poniżej:

fs. otwarty ( Nazwa pliku , flagi , tryb , oddzwonić )

Zgodnie z podaną powyżej składnią, „ fs.otwarte ()” obsługuje następujące parametry:



  • Nazwa pliku : Określa nazwę oraz ścieżkę konkretnego pliku, który użytkownik chce otworzyć.
  • flagi : Oznacza operacje, które zostaną wykonane na otwartym pliku. Domyślną wartością jest „r(read)”.
  • tryb : Wskazuje uprawnienia pliku, który jest „ 0o666 (zarówno do odczytu, jak i do zapisu) ' domyślnie.
  • oddzwonić : Wykonuje się po zakończeniu „ fs.otwarte ()' metoda. Wspiera „ błądzić ” parametr, który zgłasza błąd, jeśli wystąpi podczas wykonywania metody i 'dane' parametr, który zwraca „ fd(deskryptor pliku) ”, aby uzyskać dostęp do otwartego pliku.

Wartość zwracana: fs.open() ” podaje deskryptor pliku jako zwracaną wartość.

Różne dostępne flagi używane wraz z deskryptorami plików w Node.js

Wszystkie typy flag, które „ fs.open() ” metody umożliwiające wykonanie żądanych operacji na otwartym pliku są wymienione poniżej:

Flagi Opis
w Służy do zapisania treści w otwartym pliku, bez jej prezentacji zostanie utworzony nowy plik.
w+ Służy do otwierania pliku w celu wykonania na nim operacji odczytu i zapisu.
wx Działa tak samo jak „ w ”. Jednakże nie tworzy określonego pliku, jeśli nie istnieje on w systemie plików.
wx+ To jest to samo, co „ w+ ”, jednak operacja kończy się niepowodzeniem, jeśli plik nie istnieje.
R Otwiera plik, aby go przeczytać, a także tworzy nowy plik, jeśli go nie ma.
r+ Otwiera plik w trybie do odczytu i zapisu.
rs+ Synchronicznie otwiera plik, aby wykonać zadania czytania i pisania na nim.
A Otwiera plik w celu dołączenia jego zawartości.
+ Otwiera plik w celu odczytania i dołączenia jego zawartości.
topór To jest to samo, co „ A ”, ale nie tworzy nowego pliku, jeśli nie jest on najnowszy w systemie plików.
topór+ Działa tak samo jak „ + ”, jednak nie tworzy nowego pliku.

Po zapoznaniu się z podstawami „ fs.otwarte ()” przejdźmy do jej praktycznej implementacji, aby uzyskać deskryptor pliku.

Przykład: zastosowanie metody „fs.open()” w celu uzyskania deskryptora pliku z domyślną flagą

Ten przykład pokazuje, że stosuje się „fs.open()” metoda otwarcia określonego pliku w celu odczytania i zwrócenia deskryptora pliku:

konst fs = wymagać ( „fs” ) ;
był rez = fs. otwarty ( „plik.txt” , 'R' , funkcjonować ( błądzić , fd ) {
Jeśli ( błądzić ) {
konsola. błąd ( błądzić ) ;
} w przeciwnym razie {
konsola. dziennik ( „Plik został otwarty!” ) ;
konsola. dziennik ( fd ) ; }
} ) ;

Wyjaśnienie powyższego bloku kodu jest następujące:

  • Po pierwsze, „ wymagać ()” importuje „ fs (system plików) moduł.
  • Następnie „ fs.otwarte ()” określa żądaną nazwę folderu, domyślna flaga „ R ”, oraz funkcję wywołania zwrotnego odpowiednio jako pierwszy, drugi i trzeci argument. Funkcja wywołania zwrotnego przekazuje dalej „ błądzić ” i „ fd ' argumenty. Metoda ta otwiera podany plik do odczytu, a następnie wykonuje podaną funkcję wywołania zwrotnego.
  • W definicji funkcji wywołania zwrotnego „ Jeśli ” używa wyrażenia „ konsola.błąd() ”, aby wyświetlić komunikat o błędzie występujący podczas otwierania określonego pliku.
  • Jeżeli nie wystąpi żaden błąd, wówczas zostanie wyświetlony komunikat „ w przeciwnym razie ” zostanie wykonana instrukcja wykorzystująca „ konsola.log ()”, aby wyświetlić komunikat weryfikacyjny i „deskryptor pliku”, który jest oznaczony przez „ fd ' argument.

Wyjście

Teraz wykonuje wykonanie zawierające „ aplikacja .js” poprzez:

aplikacja węzła. js

Poniższe dane wyjściowe pokazują, że plik jest otwarty do odczytu, a także zwraca deskryptor pliku:

Metoda 2: Użyj „fs.openSync()”, aby uzyskać deskryptor pliku

fs.openSync ()” jest predefiniowaną metodą „ fs ”, który 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 ” bezpośrednio, zamiast wywoływać funkcję wywołania zwrotnego, jak w „ fs.otwarte ()' metoda.

Składnia

fs. openSync ( ścieżka , flagi , tryb )

Parametry użyte w powyższym „ 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. Domyślną wartością jest „r(read)”.
  • tryb : Oznacza uprawnienia pliku, który jest „ 0o666 (zarówno do odczytu, jak i do zapisu) ' domyślnie.

Wartość zwracana: fs.openSync() ” udostępnia liczbę całkowitą jako zwracaną wartość, która oznacza deskryptor pliku.

Postępuj zgodnie z naszym szczegółowym przewodnikiem na stronie „ Metoda fs.openSync(). ” do praktycznego wdrożenia.

Metoda 3: Użyj „fsPromise.open()”, aby uzyskać deskryptor pliku

fsPromises.open() ” jest wstępnie zdefiniowaną metodą „ fs ”, który asynchronicznie otwiera plik jako obietnicę i zwraca „ deskryptor pliku ”. Jeśli obietnica zostanie rozwiązana, sprawdza, czy określony folder jest otwarty, w przeciwnym razie zostanie odrzucona z obiektem błędu.

Składnia

fsObiecuje. otwarty ( Nazwa pliku , flagi , tryb )

fsPromises.open ()” działa na trzech następujących parametrach:

  • Nazwa pliku : Podaje konkretną nazwę pliku i ścieżkę w postaci ciągu znaków, adresu URL lub bufora, który użytkownik chce domyślnie przeczytać.
  • flagi : Może to być ciąg znaków lub nieujemna wartość całkowita określająca operacje, które należy wykonać na otwartym pliku. Domyślną wartością jest „r(read)”.
  • tryb : Określa uprawnienia do plików, czyli „ 0o666 (zarówno do odczytu, jak i do zapisu) ' domyślnie.

Wartość zwracana: Daje „ obietnica ” jako zwróconą wartość „ fsPromises.open ()' metoda.

Postępuj zgodnie z naszym szczegółowym przewodnikiem na stronie „ Metoda fsPromises.open(). ” do praktycznego wdrożenia.

Jakie różne operacje można wykonać na deskryptorach plików w Node.js?

Po pobraniu deskryptora pliku użytkownik może go użyć, aby uzyskać dostęp do konkretnego pliku i wykonać na nim różne operacje, takie jak otwieranie, zamykanie, odczytywanie, zapisywanie i wiele więcej. Aby wykonać te konkretne operacje, postępuj zgodnie z naszym szczegółowym przewodnikiem na temat „ Moduł systemu plików ”.

Chodzi o interakcję z deskryptorami plików w Node.js.

Wniosek

Aby wchodzić w interakcję z deskryptorami plików, użyj przycisku „ fs.open()”, „fs.openSync() ', albo ' fsPromises.open() ” w Node.js. Wszystkie te metody otwierają plik w celu wykonania na nim różnych operacji określonych za pomocą parametru „ flaga ”, a także zwróć parametr „ deskryptor pliku ”, który jest odniesieniem do otwartego pliku. W tym artykule szczegółowo opisano sposób interakcji z deskryptorami plików w Node.js.