Метод 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
,
который записывает данные в файл