>[success] # 文件重命名
| API | 描述 | 异步 / 同步 |
| --- | --- | --- |
| `fs.rename(oldPath, newPath, callback)` | 将文件从旧路径重命名为新路径 | 异步 |
| `fs.renameSync(oldPath, newPath)` | 与`fs.rename()`相同,但是是同步执行的 | 同步 |
| `fs.promises.rename(oldPath, newPath)` | 与`fs.rename()`相同,但是返回一个 Promise 对象 | 异步 |
| `fs.link(existingPath, newPath, callback)` | 创建一个硬链接,将现有文件链接到新路径 | 异步 |
| `fs.linkSync(existingPath, newPath)` | 与`fs.link()`相同,但是是同步执行的 | 同步 |
| `fs.symlink(target, path, type, callback)` | 创建一个符号链接,将目标文件链接到新路径 | 异步 |
| `fs.symlinkSync(target, path, type)` | 与`fs.symlink()`相同,但是是同步执行的 | 同步 |
>[danger] ### fs.rename(oldPath, newPath, callback)
1. 将`oldPath`处的文件异步重命名为作为`newPath`提供的路径名。 如果`newPath`已经存在,则它将被覆盖。 如果`newPath`是目录,则会引发错误。 除了可能的异常之外,没有为完成回调提供任何参数。
>[danger] ##### api
* `oldPath`:旧路径,即要重命名的文件或目录的原始路径。
* `newPath`:新路径,即要将文件或目录重命名为的路径。
* `callback`:回调函数,用于处理函数执行的结果。回调函数有一个参数,即可能发生的错误对象(如果有错误发生),或者为空(如果没有错误发生)
>[danger] ##### 案例
~~~
const fs = require('fs')
// 重命名 文件或者目录都可以
fs.rename('a', 'b', (err) => {
if (err) throw err
console.log('renamed complete')
})
~~~
>[danger] ### fs.renameSync(oldPath, newPath)
1. `fs.renameSync(oldPath, newPath)`是 Node.js 文件系统模块(`fs`)提供的一个同步函数,用于将文件或目录从旧路径重命名为新路径。
>[danger] ##### api
它的参数包括:
* `oldPath`:旧路径,即要重命名的文件或目录的原始路径。
* `newPath`:新路径,即要将文件或目录重命名为的路径。
>[danger] ##### 案例
~~~javascript
const fs = require('fs');
const oldPath = './oldfile.txt';
const newPath = './newfile.txt';
fs.rename(oldPath, newPath, (err) => {
if (err) {
console.error(err);
} else {
console.log(`File renamed from ${oldPath} to ${newPath}`);
}
});
~~~
>[danger] ### fsPromises.rename(oldPath, newPath)
1. `fs.promises.rename()`是 Node.js 文件系统模块(`fs`)提供的一个 Promise 接口,用于将文件或目录从旧路径重命名为新路径。
>[danger] ##### api
它的参数与`fs.rename()`相同,包括:
* `oldPath`:旧路径,即要重命名的文件或目录的原始路径。
* `newPath`:新路径,即要将文件或目录重命名为的路径。
>[danger] ##### 案例
~~~javascript
const fs = require('fs').promises;
const oldPath = './oldfile.txt';
const newPath = './newfile.txt';
fs.rename(oldPath, newPath)
.then(() => console.log(`File renamed from ${oldPath} to ${newPath}`))
.catch((err) => console.error(err));
~~~
- 基础
- 什么是Node.js
- 理解 I/O 模型
- 理解node 中 I/O
- 对比node 和java 使用场景
- node 模块管理
- 内置模块 -- buffer
- 内置模块 -- fs
- fs -- 文件描述符
- fs -- 打开文件 api
- fs -- 文件读取 api
- fs -- 文件写入 api
- fs -- 创建目录 api
- fs -- 读取文件目录结构 api
- fs -- 文件状态(信息) api
- fs -- 删除文件/目录 api
- fs -- 重命名 api
- fs -- 复制文件 api
- 内置模块 -- events
- 内置模块 -- stream
- 可读流 -- Readable
- 可写流 -- Writable
- Duplex
- Transform
- 内置模块 -- http
- http -- 从客户端发起
- http -- 从服务端发起
- 内置模块 -- url
- 网络开发