📜  Node.js fsPromises.copyFile() 方法

📅  最后修改于: 2022-05-13 01:56:52.761000             🧑  作者: Mango

Node.js fsPromises.copyFile() 方法

fsPromises.copyFile()方法用于将文件从路径异步复制到目标路径。默认情况下,如果目标路径已经存在,它会被覆盖。成功后, Promise将毫无争议地解决。

句法:

fsPromises.copyFile( src, dest, flags )

参数:此方法接受三个参数,如上所述,如下所述:

  • src:它是一个字符串、缓冲区或 URL,表示要复制的源文件名。
  • dest:它是一个字符串、缓冲区或 URL,表示复制操作将创建的目标文件名。
  • flags:用于复制操作的数字修饰符。默认值为 0。 flags是一个可选整数,用于指定复制操作的行为。可以创建由两个或多个值的按位或组成的掩码。
    1. fs.constants.COPYFILE_EXCL:如果 dest 已经存在,则复制操作将失败。
    2. fs.constants.COPYFILE_FICLONE:复制操作将尝试创建一个写时复制的引用链接。如果平台不支持写时复制,则使用回退复制机制。
    3. 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