logo

Metoda Node.js fs.writeFileSync().

Metoda fs.writeFileSync() je synchronní metoda. Pokud zadaný soubor neexistuje, vytvoří nový soubor. Modul ‚readline-sync‘ se také používá k povolení vstupu uživatele za běhu.

Modul ‚fs‘ Node.js implementuje operaci File I/O. Metody modulu fs mohou být synchronní i asynchronní. Asynchronní funkce má funkci zpětného volání jako poslední parametr, který označuje dokončení asynchronní funkce. Vývojáři Node.js preferují asynchronní metody před synchronními metodami, protože asynchronní metody nikdy neblokují program během jeho provádění, zatímco ty druhé ano.



Blokování hlavního vlákna je v Node.js nesprávný postup, proto by se synchronní funkce měly používat pouze pro ladění nebo když nejsou k dispozici žádné jiné možnosti.

Syntax:

fs.writeFileSync( file, data, options )>

Parametry: Tato metoda přijímá tři parametry uvedené výše a popsané níže:



    file: Je to řetězec, Buffer, URL nebo celé číslo popisu souboru, které označuje cestu k souboru, kam má být zapsán. Použití deskriptoru souboru způsobí, že se bude chovat podobně jako metoda fs.write(). data: Je to řetězec, Buffer, TypedArray nebo DataView, který bude zapsán do souboru. options: Je to řetězec nebo objekt, který lze použít k zadání volitelných parametrů, které ovlivní výstup. Má tři volitelné parametry:
      kódování: Je to řetězec, který určuje kódování souboru. Výchozí hodnota je „utf8“. režim: Je to celé číslo, které určuje režim souboru. Výchozí hodnota je 0o666. flag: Je to řetězec, který určuje příznak použitý při zápisu do souboru. Výchozí hodnota je „w“.

Níže uvedené příklady ilustrují fs.writeFileSync() metoda v Node.js.

Příklad 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'>));>

co je svn pokladna

>

>

Výstup:

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>

Příklad 2:

javascript

rolovací kolečko nefunguje




// 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'>));>

>

>

řetězec.podřetězec java

Výstup:

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

Příklad 3: Přebírání runtime vstupů od uživatelů pro název souboru a data souboru pomocí modulu readline

javascript




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);> }>

>

>

Výstup

Příklad 4: Přebírání runtime vstupu od uživatelů pro souborová data pomocí modulu readline pomocí vyrovnávací paměti.

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);> }>

char na řetězec v jazyce Java

>

>

Výstup

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