Metoden fs.writeFileSync() är en synkron metod. Den skapar en ny fil om den angivna filen inte finns. Dessutom används modulen 'readline-sync' för att aktivera användarinmatning vid körning.
'fs'-modulen i Node.js implementerar File I/O-operationen. fs-modulmetoderna kan vara synkrona såväl som asynkrona. Den asynkrona funktionen har en återuppringningsfunktion som den sista parametern som indikerar fullbordandet av den asynkrona funktionen. Node.js-utvecklare föredrar asynkrona metoder framför synkrona metoder eftersom asynkrona metoder aldrig blockerar ett program under dess körning, medan det senare gör det.
Blockering av huvudtråden är felbehandling i Node.js, därför bör synkrona funktioner endast användas för felsökning eller när inga andra alternativ är tillgängliga.
Syntax:
fs.writeFileSync( file, data, options )>
Parametrar: Denna metod accepterar tre parametrar som nämnts ovan och beskrivs nedan:
- fil: Det är en sträng, buffert, URL eller filbeskrivningsheltal som anger sökvägen till filen där den ska skrivas. Genom att använda en fildeskriptor kommer den att bete sig på samma sätt som metoden fs.write(). data: Det är en sträng, Buffer, TypedArray eller DataView som kommer att skrivas till filen. alternativ: Det är en sträng eller ett objekt som kan användas för att specificera valfria parametrar som kommer att påverka utdata. Den har tre valfria parametrar:
- kodning: Det är en sträng som anger kodningen av filen. Standardvärdet är 'utf8'. läge: Det är ett heltal som anger filläget. Standardvärdet är 0o666. flagga: Det är en sträng som anger flaggan som används när du skriver till filen. Standardvärdet är 'w'.
Nedan exempel illustrerar fs.writeFileSync()-metoden i Node.js.
Exempel 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'> ));> |
typer av for loop
>
>
Produktion:
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>
Exempel 2:
javascript
fånga och prova java
// 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'> ));> |
>
>
3d i autocad
Produktion:
File written successfully 5 times The written file has the following contents: Movie 0 Movie 1 Movie 2 Movie 3 Movie 4>
Exempel 3: Tar runtime-indata från användare för filnamn och fildata med hjälp av readline-modulen
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);> }> |
>
>
Produktion
Exempel 4: Tar runtime-indata från användare för fildata med hjälp av readline-modul med buffert.
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);> }> |
vad gör ravel i python
>
>
Produktion
Referens: https://nodejs.org/api/fs.html#fs_fs_writefilesync_file_data_options