Node.js fsPromises.copyFile() 方法
fsPromises.copyFile()方法用于将文件从源路径异步复制到目标路径。默认情况下,如果目标路径已经存在,它会被覆盖。成功后, Promise将毫无争议地解决。
句法:
fsPromises.copyFile( src, dest, flags )
参数:此方法接受三个参数,如上所述,如下所述:
- src:它是一个字符串、缓冲区或 URL,表示要复制的源文件名。
- dest:它是一个字符串、缓冲区或 URL,表示复制操作将创建的目标文件名。
- flags:用于复制操作的数字修饰符。默认值为 0。 flags是一个可选整数,用于指定复制操作的行为。可以创建由两个或多个值的按位或组成的掩码。
- fs.constants.COPYFILE_EXCL:如果 dest 已经存在,则复制操作将失败。
- fs.constants.COPYFILE_FICLONE:复制操作将尝试创建一个写时复制的引用链接。如果平台不支持写时复制,则使用回退复制机制。
- fs.constants.COPYFILE_FICLONE_FORCE:复制操作将尝试创建一个写时复制的反射链接。如果平台不支持写时复制,则操作将失败。
返回值:承诺。 Promise对象表示异步操作的最终完成(或失败)及其结果值。
在给定目录中创建original.txt文件以执行以下方法。这个例子展示了在没有给出标志的情况下,将original.txt文件复制到copyed.txt文件的操作。
文件名:index.js
// Node.js program to demonstrate the
// fsPromises.copyFile() method
// Import the filesystem module
const fs = require('fs');
const fsPromises = require('fs').promises;
fsPromises.copyFile("original.txt", "copied.txt")
.then(function() {
console.log("File Copied");
})
.catch(function(error) {
console.log(error);
});
运行此程序的步骤:
使用以下命令运行index.js文件:
node index.js
输出:
File Copied
现在您可以看到在您当前的根目录中创建了copyed.txt文件。
参考: https://nodejs.org/api/fs.html#fs_fspromises_copyfile_src_dest_mode