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 module const 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 module const fs = require( 'fs' ) // fs.readFileSync(() method reads the file // and returns buffer form of the data const oldBuff = fs.readFileSync( './testFile.txt' ) // File content after append const 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}`) }) |
Выход: