logo

Metoda Node.js fs.writeFileSync().

Metoda fs.writeFileSync() jest metodą synchroniczną. Tworzy nowy plik, jeśli określony plik nie istnieje. Ponadto moduł „readline-sync” umożliwia wprowadzanie danych przez użytkownika w czasie wykonywania.

Moduł „fs” Node.js implementuje operację wejścia/wyjścia na pliku. Metody modułu fs mogą być synchroniczne i asynchroniczne. Funkcja asynchroniczna posiada jako ostatni parametr funkcję wywołania zwrotnego, która sygnalizuje zakończenie funkcji asynchronicznej. Programiści Node.js wolą metody asynchroniczne od metod synchronicznych, ponieważ metody asynchroniczne nigdy nie blokują programu podczas jego wykonywania, podczas gdy te drugie to robią.



Blokowanie głównego wątku jest nadużyciem w Node.js, dlatego funkcji synchronicznych należy używać tylko do debugowania lub gdy nie są dostępne żadne inne opcje.

Składnia:

fs.writeFileSync( file, data, options )>

Parametry: W metodzie tej akceptowane są trzy parametry wymienione powyżej i opisane poniżej:



    plik: Jest to ciąg znaków, bufor, adres URL lub liczba całkowita opisująca plik, która oznacza ścieżkę pliku, w którym ma zostać zapisany. Użycie deskryptora pliku sprawi, że będzie on zachowywał się podobnie do metody fs.write(). dane: Jest to ciąg znaków, bufor, TypedArray lub DataView, który zostanie zapisany w pliku. opcje: Jest to ciąg lub obiekt, którego można użyć do określenia opcjonalnych parametrów, które będą miały wpływ na dane wyjściowe. Posiada trzy opcjonalne parametry:
      kodowanie: Jest to ciąg znaków określający kodowanie pliku. Wartość domyślna to „utf8”. mode: Jest to liczba całkowita określająca tryb pliku. Wartość domyślna to 0o666. flaga: Jest to ciąg znaków określający flagę używaną podczas zapisu do pliku. Wartość domyślna to „w”.

Poniższe przykłady ilustrują Metoda fs.writeFileSync(). w Node.js.

Przykład 1:

JavaScript






// Node.js program to demonstrate the> // fs.writeFileSync() method> > // Import the filesystem module> const fs = require(>'fs'>);> > let data =>'This is a file containing a collection'> >+>' of programming languages. '> >+>'1. C 2. C++ 3. Python'>;> > fs.writeFileSync(>'programming.txt'>, data);> console.log(>'File written successfully '>);> console.log(>'The written has the following contents:'>);> console.log(fs.readFileSync(>'programming.txt'>,>'utf8'>));>

silnia w Javie

>

>

Wyjście:

File written successfully The written has the following contents: This is a file containing a collection of programming languages. 1. C 2. C++ 3. Python>

Przykład 2:

JavaScript




wiek Ankity Lokhande
// Node.js program to demonstrate the> // fs.writeFileSync() method> > // Import the filesystem module> const fs = require(>'fs'>);> > // Writing to the file 5 times> // with the append file mode> for> (let i = 0; i <5; i++) {> >fs.writeFileSync(>'movies.txt'>,> >'Movie '> + i +>' '>,> >{> >encoding:>'utf8'>,> >flag:>'a+'>,> >mode: 0o666> >});> }> > console.log(>'File written successfully 5 times '>);> console.log(>'The written file has the following contents:'>);> console.log(fs.readFileSync(>'movies.txt'>,>'utf8'>));>

>

>

Wyjście:

File written successfully 5 times The written file has the following contents: Movie 0 Movie 1 Movie 2 Movie 3 Movie 4>

Przykład 3: Pobieranie danych wejściowych od użytkowników dotyczących nazwy pliku i danych pliku przy użyciu modułu readline

JavaScript


zamów w przedsprzedaży przejście przez drzewo



let readline = require(>'readline-sync'>);> let fs = require(>'fs'>);> > let path = readline.question(>'Enter file name/path: '>);> > console.log(>'Entered path : '> + path);> > let data = readline.question(>'Enter file data: '>);> > //synchronous functions may throw errors> //which can be handled using try-catch block> try> {> >fs.writeFileSync(path, data, { flag:>'a+'> });>//'a+' is append mode> >console.log(>'File written successfully'>);> }>catch> (err) {> >console.error(err);> }> console.log(>'-----------------------------------------------'>);> try> {> >const data = fs.readFileSync(path, { encoding:>'utf8'> });> >console.log(>'File content is as follows:'>);> >// Display the file data> >console.log(data);> }>catch> (err) {> >console.log(err);> }>

>

>

Wyjście

Przykład 4: Pobieranie danych wejściowych od użytkowników w czasie wykonywania plików przy użyciu modułu readline i bufora.

JavaScript




let fs = require(>'fs'>);> let readline = require(>'readline-sync'>);> let path = readline.question(>'Enter file name/path: '>);> > console.log(>'Entered path : '> + path);> > // 1024 specifies the buffer size. We can limit> // the data size by this approach> let buf =>new> Buffer.alloc(1024);> buf = readline.question(>'Enter data:'>);> > > try> {> >fs.writeFileSync(path, buf, { flag:>'a+'> });> >console.log(>'File written successfully'>);> }>catch> (err) {> >console.error(err);> }> console.log(>'-----------------------------------------------'>);> try> {> >const data = fs.readFileSync(path, { encoding:>'utf8'> });> >console.log(>'File content is as follows:'>);> >// Display the file data> >console.log(data);> }>catch> (err) {> >console.log(err);> }>

metoda podciągu w Javie

>

>

Wyjście

Odniesienie: https://nodejs.org/api/fs.html#fs_fs_writefilesync_file_data_options