Node.js fs.filehandle.sync() Method
The fs.filehandle.sync() method is an inbuilt application programming interface of class fs.filehandle within File System module which is used to synchronize this file's in-core state with the storage device.
Syntax:
const filehandle.sync()
Parameter: This method does not accept any argument as parameter.
Return Value: This method returns a pending promise which contains no value in it.
Below programs illustrates the use of fs.filehandle.sync() method.
Example 1: Filename: index.js
// Node.js program to demonstrate the
// filehandle.sync() method
const fs = require('fs');
const fsPromises = fs.promises;
console.log("content of file before operation :- "
+ (fs.readFileSync('example.txt')));
// Initiating asynchronise function
async function funct() {
// Initializing following variables
let filehandle = null;
let prom = null;
try {
// Creating and initiating filehandle
filehandle = await
fsPromises.open('example.txt', 'r+');
// Synchronizing the file's in-core state
// by using sync() method
prom = filehandle.sync();
} finally {
if (filehandle) {
// Display the result
console.log("data is synchronized successfully");
console.log("content of file after operation :- "
+ (fs.readFileSync('example.txt')));
// Close the file if it is opened.
await filehandle.close();
}
}
}
funct().catch(console.error);
Directory structure before running the program:
Directory structure after running the program:
Run index.js file using the following command:
node index.js
Output:
content of file before operation :- Content of file: example.txt data is synchronized successfully content of file after operation :- Content of file: example.txt
Example 2: Filename: index.js
// Node.js program to demonstrate the
// filehandle.sync() method
const fs = require('fs');
const fsPromises = fs.promises;
// Data for the new file
let data = "This is a file containing"
+ " a collection of books.";
// Name of the file to be created
let file = "books.txt";
// Creating the new file 'books.txt'
fs.writeFile(file, data, (err) => {
// Catching error
if (err) {
console.log(err);
}
});
// Using fs.exists() method
fs.exists(file, (exists) => {
if (exists) {
console.log("content of file before"
+ " operation :- " +
(fs.readFileSync(file)));
}
});
// Initiating asynchronise function
async function funct() {
// Initializing filehandle
let filehandle = null;
try {
// Creating and initiating filehandle
filehandle = await
fsPromises.open(file, 'r+');
// Synchronizing the file's in-core
// state by using sync() method
prom = filehandle.sync();
} finally {
if (filehandle) {
// Close the file if it is opened.
console.log("data is synchronized"
+ " successfully");
console.log("content of file after"
+ " operation :- " +
(fs.readFileSync(file)));
await filehandle.close();
}
}
}
funct().catch(console.error);
Directory structure before running the program:
Directory structure after running the program:
Run index.js file using the following command:
node index.js
Output:
content of file before operation :- This is a file containing a collection of books.
data is synchronized successfully
content of file after operation :- This is a file containing a collection of books.
Reference: https://nodejs.org/dist/latest-v12.x/docs/api/fs.html#fs_filehandle_sync