# Метод ftruncate

Метод `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); }`

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

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

← →
↑