Метод ftruncate - размер файла через файловый дескриптор на NodeJS
Метод ftruncate
изменяет размер файла
через файловый дескриптор.
В первом параметре метода указывается нужный
нам файловый дескриптор, во втором
необязательном параметре задаем длину файла,
на которую будет изменен размер файла. По
умолчанию значение этого параметра равно
0
и в этом случае весь файл очистится.
В третьем необязательном параметре
задаем коллбэк.
Синтаксис
fs.ftruncate(файловый дескриптор, длина файла, [коллбэк]);
Пример
Давайте асинхронно
изменим размер файла через коллбэк. Изначально
добавим в файл ftruncate
строку
'text'
:
import fs from 'fs';
let fileDescriptor = fs.openSync('file.txt', 'r+');
console.log('сontent before truncate:' + fs.readFileSync('file.txt', 'utf8'));
fs.ftruncate(fileDescriptor, 2, err => {
if (!err) {
console.log('сontent after truncate:' + fs.readFileSync('file.txt', 'utf8'));
} else {
console.log(err);
}
});
После выполнения кода мы получим:
'сontent before truncate:text'
'сontent after truncate:te'
Пример
Давайте синхронно изменим размер файла
через ftruncateSync
:
import fs from 'fs';
let fileDescriptor = fs.openSync('file.txt', 'r+');
console.log('сontent before truncate:' + fs.readFileSync('file.txt', 'utf8'));
try {
fs.ftruncateSync(fileDescriptor, 2)
console.log('сontent after truncate:' + fs.readFileSync('file.txt', 'utf8'));
} catch (err) {
console.log(err);
}