nodejs复制文件到指定目录
时间: 2024-03-08 21:44:22 浏览: 31
在Node.js中,你可以使用`fs`模块来复制文件到指定目录。下面是一个简单的示例代码:
```javascript
const fs = require('fs');
const path = require('path');
function copyFile(sourcePath, targetPath) {
// 构造目标文件路径
const fileName = path.basename(sourcePath);
const targetFilePath = path.join(targetPath, fileName);
// 创建可读流和可写流
const readStream = fs.createReadStream(sourcePath);
const writeStream = fs.createWriteStream(targetFilePath);
// 执行文件复制
readStream.pipe(writeStream);
// 监听复制完成事件
writeStream.on('finish', () => {
console.log('文件复制成功!');
});
// 监听错误事件
writeStream.on('error', (err) => {
console.error('文件复制失败:', err);
});
}
// 使用示例
const sourcePath = '/path/to/source/file.txt';
const targetPath = '/path/to/target/directory';
copyFile(sourcePath, targetPath);
```
上述代码中,我们首先引入了`fs`和`path`模块。然后定义了一个`copyFile`函数,该函数接受源文件路径和目标目录路径作为参数。
在函数内部,我们使用`path.basename`方法获取源文件的文件名,并使用`path.join`方法构造目标文件的完整路径。
接下来,我们使用`fs.createReadStream`创建一个可读流,用于读取源文件的内容。同时,使用`fs.createWriteStream`创建一个可写流,用于将内容写入目标文件。
然后,我们使用`readStream.pipe(writeStream)`将可读流的内容传输到可写流中,实现文件的复制。
最后,我们监听可写流的`finish`事件,表示文件复制完成。如果复制过程中发生错误,我们监听可写流的`error`事件,并打印错误信息。
你可以根据实际情况修改源文件路径和目标目录路径,然后调用`copyFile`函数进行文件复制。