logo

Метод Node.js fs.writeFileSync().

Метод fs.writeFileSync() є синхронним методом. Він створює новий файл, якщо вказаний файл не існує. Крім того, модуль «readline-sync» використовується, щоб увімкнути введення користувача під час виконання.

Модуль «fs» Node.js реалізує операцію введення/виведення файлів. Методи модуля fs можуть бути як синхронними, так і асинхронними. Асинхронна функція має функцію зворотного виклику як останній параметр, який вказує на завершення асинхронної функції. Розробники Node.js віддають перевагу асинхронним методам перед синхронними, оскільки асинхронні методи ніколи не блокують програму під час її виконання, тоді як останні блокують.



Блокування основного потоку є помилкою в Node.js, тому синхронні функції слід використовувати лише для налагодження або коли інші параметри недоступні.

Синтаксис:

fs.writeFileSync( file, data, options )>

Параметри: Цей метод приймає три параметри, згадані вище та описані нижче:



    файл: це рядок, буфер, URL-адреса або ціле число опису файлу, що позначає шлях до файлу, куди його потрібно записати. Використання файлового дескриптора зробить його поведінку подібною до методу fs.write(). дані: це рядок, буфер, TypedArray або DataView, які будуть записані у файл. параметри: це рядок або об’єкт, який можна використовувати для визначення додаткових параметрів, які впливатимуть на результат. Він має три додаткові параметри:
      кодування: це рядок, який визначає кодування файлу. Значення за замовчуванням – «utf8». режим: це ціле число, яке визначає режим файлу. Стандартне значення 0o666. прапор: це рядок, який визначає прапор, який використовується під час запису у файл. Значення за замовчуванням — «w».

Наведені нижче приклади ілюструють метод fs.writeFileSync(). у Node.js.

Приклад 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'>));>

факториал в java

>

>

Вихід:

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>

приклад 2:

javascript


java версія linux



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

>

>

Вихід:

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

приклад 3: Отримання вхідних даних користувачів під час виконання для імені файлу та даних файлу за допомогою модуля 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);> }>

приклади коду java

>

>

Вихід

Приклад 4: Отримання вхідних даних користувачів під час виконання файлів за допомогою модуля readline із використанням буфера.

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

відкритий файл java

>

>

Вихід

Посилання: https://nodejs.org/api/fs.html#fs_fs_writefilesync_file_data_options