Метод write - запись файла на NodeJS

Метод write указывает позицию в файле, с которой начинается запись в буфер, а также для того, что обозначить какую часть буфера записывать в файл. В первом параметре метода указываем файловый дескриптор. Метод write можно применять в двух вариантах: с буфером и со строковой переменной. Различия между этими вариантами начинаются со второго параметра.

Если мы используем метод с буфером, то во втором параметре указываем буфер, в третьем параметре - часть буфера, предназначенную для записи. В четвертом необязательном параметре задаем длину в байтах, которая будет записана в файл. В пятом необязательном параметре задаем позицию, с которой начнется запись файла, в шестом необязательном параметре - коллбэк.

В случае, если нам нужно применить метод write со строковым значением, во втором параметре мы указываем строку, в третьем необязательном параметре - позицию, с которой начнется запись файла. В четвертом необязательном параметре задаем кодировку, значение по умолчанию которой равно 'UTF-8'. И в пятом необязательном параметре указываем коллбэк.

Синтаксис

При использовании буфера:

fs.write(файловый дескриптор, буфер, часть буфера для записи, [длина], [позиция], [коллбэк]);

При использовании строки:

fs.write(файловый дескриптор, строка, [позиция], [кодировка], [коллбэк]);

Пример

Давайте асинхронно запишем данные в файл используя буфер. Вначале мы откроем файл с помощью метода open, во второй параметр которого добавим режим 'a', позволяющий каждый раз просто добавлять данные к файлу, а не перезаписывать их новыми:

import fs from 'fs'; let buffer = new Buffer.from('text'); fs.open('/file.txt', 'a', function(err, fd) { if (err) { console.log(err); } else { fs.write(fd, buffer, 0, buffer.length, null, function(err, writtenbytes) { if (err) { console.log(err); } else { console.log(writtenbytes + ' characters added to file'); } }) } })

Пример

Теперь давайте асинхронно запишем данные в файл используя строковую переменную:

import fs from 'fs'; const str = 'text'; fs.open('/file.txt', 'a', function(err, fd) { if (err) { console.log(err); } else { fs.write(fd, str, function(err, bytes) { if (err) { console.log(err); } else { console.log(bytes + ' bytes written'); } }) } })

Пример

Давайте синхронно запишем данные в файл через writeSync используя буфер:

import fs from 'fs'; let buffer = new Buffer.from('text'); try { fs.open('/file.txt', 'a', function(err, fd) { if (err) { console.log(err); } else { fs.write(fd, buffer, 0, buffer.length, null, function(err, writtenbytes) { if (err) { console.log(err); } else { console.log(writtenbytes + ' characters added to file'); } }) } }) } catch (err) { console.log(err); }

Пример

Давайте синхронно запишем данные в файл через writeSync используя строковую переменную:

import fs from 'fs'; const str = 'text'; try { fs.open('/file.txt', 'a', function(err, fd) { if (err) { console.log(err); } else { fs.write(fd, str, function(err, bytes) { if (err) { console.log(err); } else { console.log(bytes + ' bytes written'); } }) } }) } catch (err) { console.log(err); }

Смотрите также

  • метод writeFile,
    который записывает данные в файл



Чат с GPT Компилятор