>[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
- 網絡開發