nodejs文件操作模塊FS(File System)常用函數(shù)簡(jiǎn)明總結(jié)
件系統(tǒng)操作相關(guān)的函數(shù)挺多的。首先可以分為兩大類(lèi)。
一類(lèi)是異步+回調(diào)的。 一類(lèi)是同步的。
在這里只對(duì)異步的進(jìn)行整理,同步的只需要在函數(shù)名稱(chēng)后面加上Sync即可
1. 首先是一類(lèi)最常規(guī)的讀寫(xiě)函數(shù),函數(shù)名稱(chēng)和形式,應(yīng)該是起源于C語(yǔ)言的。
fs.open(文件路徑,讀寫(xiě)標(biāo)識(shí),[文件mode值,666],回調(diào)函數(shù)(err,文件句柄fd));
fs.read(文件句柄fd,被寫(xiě)入的buffer,offset,length,position,回調(diào)函數(shù)(err, bytesRead, buffer));
fs.write(文件句柄fd,被讀取的buffer,offset,length,position,回調(diào)函數(shù)(err,bytesWritten,buffer));
fs.close(文件句柄,回調(diào)函數(shù))
fs.truncate(文件句柄,截?cái)嚅L(zhǎng)度,回調(diào)函數(shù));
fs.fsync(文件句柄,回調(diào)函數(shù));
2. 直接對(duì)文件進(jìn)行讀寫(xiě)的,用起來(lái)比較方便。
fs.readFile(文件名,編碼,回調(diào)函數(shù)(err,data));
fs.writeFile(文件名,數(shù)據(jù),編碼,回調(diào)函數(shù)(err));
fs.appendFile(文件名,數(shù)據(jù),編碼,回調(diào)函數(shù)(err));
3. 其它常用文件操作
判斷文件是否存在
fs.exists(文件路徑,callback(是否存在));
重命名
fs.rename(舊文件名,新文件名,回調(diào)函數(shù));
文件所有者變更
fs.chown(文件名,uid,gid,回調(diào)函數(shù));/fs.fchown(文件句柄fd,uid,gid,回調(diào)函數(shù));/fs.lchown(鏈接路徑,uid,gid,回調(diào)函數(shù));
文件權(quán)限變更
fs.chmod(文件名,mode,回調(diào)函數(shù));/fs.fchmod(文件句柄,mode,回調(diào)函數(shù));/fs.lchmod(鏈接路徑,mode,回調(diào)函數(shù));
文件信息
fs.stat(文件路徑,回調(diào)函數(shù)(err.fs.Stats對(duì)象));/fs.fstat(文件句柄fd,回調(diào)函數(shù)(err.fs.Stats對(duì)象));/fs.lstat(鏈接路徑,回調(diào)函數(shù)(err.fs.Stats對(duì)象));
文件時(shí)間
fs.utimes(文件路徑,訪(fǎng)問(wèn)時(shí)間,新建時(shí)間,回調(diào)函數(shù));/fs.futimes(文件句柄,訪(fǎng)問(wèn)時(shí)間,新建時(shí)間,回調(diào)函數(shù));
監(jiān)視文件
fs.watchFile(文件名,[options],listener_callback(當(dāng)前文件的stats,改變前的stats));
fs.unwatchFile(文件名);
4. 目錄操作
fs.mkdir(路徑,權(quán)限mode/777,回調(diào)函數(shù));
fs.rmdir(路徑,回調(diào)函數(shù));
fs.readdir(路徑,回調(diào)函數(shù)(err,fileNameArray));
5. 鏈接文件操作
創(chuàng)建一個(gè)鏈接
fs.link(srcpath, dstpath, [callback])
fs.symlink(destination, path, [type], [callback])
讀取鏈接指向的路徑
fs.readlink(path, [callback(err,linkstr)])
fs.unlink(path,[callback]);
相關(guān)文章
express提供http服務(wù)功能實(shí)現(xiàn)示例
這篇文章主要為大家介紹了express提供http服務(wù)功能實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10node通過(guò)npm寫(xiě)一個(gè)cli命令行工具
本篇文章主要介紹了node通過(guò)npm寫(xiě)一個(gè)cli命令行工具 ,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10nodejs進(jìn)階(6)—連接MySQL數(shù)據(jù)庫(kù)示例
本篇文章主要介紹了nodejs進(jìn)階(6)—連接MySQL數(shù)據(jù)庫(kù)示例,詳細(xì)的介紹了NodeJS操作MySQL數(shù)據(jù)庫(kù),作為應(yīng)用最為廣泛的開(kāi)源數(shù)據(jù)庫(kù)則成為我們的首選,有興趣的可以了解一下。2017-01-01node以及npm版本不對(duì)應(yīng)出錯(cuò)的完美解決方法
最近項(xiàng)目用到了node和npm,查看一下當(dāng)前版本,發(fā)現(xiàn)有報(bào)錯(cuò),下面這篇文章主要給大家介紹了關(guān)于node以及npm版本不對(duì)應(yīng)出錯(cuò)的完美解決方法,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05