Метод ftruncate

Метод ftruncate изменяет размер файла через файловый дескриптор. В первом параметре метода указывается нужный нам файловый дескриптор, во втором необязательном параметре задаем длину файла, на которую будет изменен размер файла. По умолчанию значение этого параметра равно 0 и в этом случае весь файл очистится. В третьем необязательном параметре задаем коллбэк.

Синтаксис

javascriptfs.ftruncate(файловый дескриптор, длина файла, [коллбэк]);

Пример

Давайте асинхронно изменим размер файла через коллбэк. Изначально добавим в файл ftruncate строку 'text':

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

После выполнения кода мы получим:

javascript'сontent before truncate:text'
'сontent after truncate:te'

Пример

Давайте синхронно изменим размер файла через ftruncateSync:

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

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

  • метод truncate,
    который изменяет размер файла
  • метод stat,
    который возвращает статистику о файле или папки