當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Node.js fs.copyFile(src, dest[, mode], callback)用法及代碼示例


fs.copyFile(src, dest[, mode], callback)

曆史
版本變化
v18.0.0

將無效回調傳遞給 callback 參數現在會拋出 ERR_INVALID_ARG_TYPE 而不是 ERR_INVALID_CALLBACK

v14.0.0

將 'flags' 參數更改為 'mode' 並實施更嚴格的類型驗證。

v8.5.0

添加於:v8.5.0


參數

異步複製 srcdest 。默認情況下,如果 dest 已經存在,它會被覆蓋。除了可能的異常之外,沒有為回調函數提供任何參數。 Node.js 不保證複製操作的原子性。如果在打開目標文件進行寫入後發生錯誤,Node.js 將嘗試刪除目標。

mode 是一個可選整數,用於指定複製操作的行為。可以創建由兩個或多個值的按位或組成的掩碼(例如 fs.constants.COPYFILE_EXCL | fs.constants.COPYFILE_FICLONE )。

  • fs.constants.COPYFILE_EXCL :如果 dest 已存在,則複製操作將失敗。
  • fs.constants.COPYFILE_FICLONE :複製操作將嘗試創建 copy-on-write reflink。如果平台不支持copy-on-write,則使用回退複製機製。
  • fs.constants.COPYFILE_FICLONE_FORCE :複製操作將嘗試創建 copy-on-write reflink。如果平台不支持copy-on-write,則操作將失敗。
import { copyFile, constants } from 'node:fs';

function callback(err) {
  if (err) throw err;
  console.log('source.txt was copied to destination.txt');
}

// destination.txt will be created or overwritten by default.
copyFile('source.txt', 'destination.txt', callback);

// By using COPYFILE_EXCL, the operation will fail if destination.txt exists.
copyFile('source.txt', 'destination.txt', constants.COPYFILE_EXCL, callback);

相關用法


注:本文由純淨天空篩選整理自nodejs.org大神的英文原創作品 fs.copyFile(src, dest[, mode], callback)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。