fs模塊
fs模塊所有方法都要先導入fs!
一、文件寫入
將數(shù)據(jù)保存到文件中。
1.writeFile(異步寫入)
2.writeFileSync同步寫入
同步處理:JavaScript主線程會等待其他線程的執(zhí)行結果,然后再繼續(xù)執(zhí)行主線程的代碼,效率較低。
異步處理:JavaScript主線程不會等待其他線程的執(zhí)行結果,直接執(zhí)行主線程的代碼,效率較高。
3.appendFile異步追加寫入
在文件尾部追加內容,語法與writeFile相同。
3.appendFileSync同步追加寫入
語法同writeFileSync
4.writeFile實現(xiàn)追加寫入
5.createWriteStream 流式寫入
流式寫入可以減少打開關閉文件的次數(shù),適用于大文件寫入或者頻繁寫入的場景,writeFile適用于寫入頻率較低的場景。
當需要持久化保存數(shù)據(jù)的時候,應該想到文件寫入。
二、文件讀取
1.readFile異步讀取
2.readFileSync同步讀取
3.createReadStream流式讀取
三、文件移動與重命名
四、文件復制
1.readFile方法
2.流式操作(推薦 占用資源更少)
五、文件刪除
1.運用unlink(unlinkSync)方法
2.運用rm(rmSync)方法
六、文件夾操作
1.mkdir創(chuàng)建文件夾
2.readdir讀取文件夾
3.rmdir刪除文件夾
七、查看資源狀態(tài)--stat方法
八、相對路徑問題
fs模塊對資源進行操作是,路徑的寫法有兩種:
相對路徑
./座右銘.txt? 當前目錄下的 座右銘.txt
座右銘.txt? 等效于上面的寫法
../座右銘.txt? 當前目錄的上一級目錄中的 座右銘.txt
絕對路徑
D:/Program Files??Windows 系統(tǒng)下的絕對路徑
/user/bin??Linux 系統(tǒng)下的絕對路徑
相對路徑的參照物:命令行的工作路徑,不是文件所在的目錄路徑
所以當明航的工具與文件的目錄不一致時,會出現(xiàn)bug,解決辦法:使用__dirname
__dirname:絕對路徑全局變量,保存的是資源所在目錄的絕對路徑
使用 fs 模塊的時候,盡量使用?__dirname
?路徑轉換為絕對路徑,這樣可以避免相對路徑產生的Bug。
九、文件重命名示例