Метод truncate - размер файла на NodeJS

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

Синтаксис

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

Пример

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

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

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

'file truncated'
'te'

Пример

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

import 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);

Пример

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

import 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:

import 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,
    который устанавливает наблюдения за изменениями в файле и папки



Чат с GPT Компилятор