Метод truncate

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

Синтаксис

javascriptfs.truncate(путь к файлу, длина файла, [коллбэк]);

Пример

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

javascriptimport fs from 'fs/promises';

try {
  await fs.truncate('./dir/file.txt', 2);
  let data = await fs.readFile('./dir/file.txt', 'utf8');
  console.log('file truncated');
  console.log(data);
} catch (err) {
  console.log(err);
}

Результат выполнения кода:

javascript'file truncated'
'te'

Пример

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

javascriptimport fs from 'fs/promises';

fs.truncate('./dir/file.txt', 2).then(() => {
  console.log('file truncated');
}).catch(err => {
  console.log(err);
});

let data = await fs.readFile('./dir/file.txt', 'utf8');
console.log(data);

Пример

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

javascriptimport fs from 'fs';

fs.truncate('./dir/file.txt', 2, function (err) {
  if (!err) {
    console.log('file truncated');
    let data = fs.readFileSync('./dir/file.txt', 'utf8');
    console.log(data)
  } else {
    console.log(err)
  }
});

Пример

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

javascriptimport fs from 'fs';

try {
  fs.truncateSync('./dir/file.txt', 2);
  console.log('file truncated');
  let data = fs.readFileSync('./dir/file.txt', 'utf8');
  console.log(data);
} catch (err) {
  console.log(err);
}

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

  • метод ftruncate,
    который изменяет размер файла через файловый дескриптор
  • метод watch,
    который устанавливает наблюдения за изменениями в файле и папки