Node.js filehandle.truncate () Метод
Метод filehandle.truncate () определен в модуле файловой системы Node.js. Модуль файловой системы в основном предназначен для взаимодействия с жестким диском компьютера пользователя. Метод truncate () используется для изменения внутреннего содержимого файла на len байтов. Если len короче текущей длины файла, файл обрезается до этой длины, а если она больше, чем длина файла, дополняется добавлением нулевых байтов (x00) до тех пор, пока не будет достигнуто значение len.
Синтаксис:
filehandle.truncate (len);
Параметр: этот метод принимает один параметр, как указано выше и описано ниже:
- len: это числовое значение, указывающее длину файла, после которой файл должен быть усечен. Это необязательный параметр, значение по умолчанию - 0, т. Е. Если параметр len не указан, он усечет весь файл.
Возвращаемое значение: он возвращает обещание, которое будет разрешено без аргументов в случае успеха или отклонено с объектом ошибки, если что-то пошло не так (например, указанный путь - это путь к каталогу или указанный путь не существует).
Пример 1: Этот пример показывает, как работает усечение, когда длина после усечения файла не указана.
// Importing File System and // Utilities moduleconst fs = require("fs") const truncateFile = async (path) => { let filehandle = null try { filehandle = await fs.promises .open(path, mode = "r+") // Append operation await filehandle.truncate() console.log("
Truncate done, File" + " contents are deleted!
") } finally { if (filehandle) { // Close the file if it is opened. await filehandle.close(); } }} truncateFile("./testFile.txt") .catch(err => { console.log(`Error Occurs, Error code -> ${err.code}, Error NO -> ${err.errno}`) }) |
Содержимое файла перед запуском программы: 
Содержимое файла после запуска программы: 
Выход:
Усечение выполнено, содержимое файла удалено!
Пример 2: Этот пример показывает, как работает усечение, когда указывается длина после того, как файл будет усечен.
// Importing File System and Utilities moduleconst fs = require( 'fs' ) // fs.readFileSync(() method reads the file// and returns buffer form of the dataconst oldBuff = fs.readFileSync( './testFile.txt' ) // File content after appendconst oldContent = oldBuff.toString()console.log(`
Contents before truncate :
${oldContent}`) const truncateFile = async (path, len) => { let filehandle = null try { filehandle = await fs.promises .open(path, mode = 'r+' ) // Append operation await filehandle.truncate(len) console.log( '
Truncate done!
' ) } finally { if (filehandle) { // Close the file if it is opened. await filehandle.close(); } } const newBuff = fs.readFileSync(path) //File content after truncate const newContent = newBuff.toString() console.log(`Contents after truncate :
${newContent}`)} truncateFile( './testFile.txt' , 52) . catch (err => { console.log(`Error Occurs, Error code -> ${err.code}, Error NO -> ${err.errno}`) }) |
Выход: