fs 檔案模組 一 nodejs

2021-08-14 11:36:40 字數 3161 閱讀 9186

fs中文文件

開啟檔案:

fs.open( path , flag [,mode] , callback)         //    callback第乙個為錯誤物件,第二個為fd

fs.opensync ( path , flag[ , mode] )

flag: 'r' - 以讀取模式開啟檔案。如果檔案不存在則發生異常。

'r+' - 以讀寫模式開啟檔案。如果檔案不存在則發生異常。

'rs+' - 以同步讀寫模式開啟檔案。命令作業系統繞過本地檔案系統快取。這對 nfs 掛載模式下開啟檔案很有用,因為它可以讓你跳過潛在的舊本地快取。 它對 i/o 的效能有明顯的影響,所以除非需要,否則不要使用此標誌。注意,這不會使 fs.open() 進入同步阻塞呼叫。 如果那是你想要的,則應該使用 fs.opensync()。

'w' - 以寫入模式開啟檔案。檔案會被建立(如果檔案不存在)或截斷(如果檔案存在)。

'wx' - 類似 'w',但如果 path 存在,則失敗。

'w+' - 以讀寫模式開啟檔案。檔案會被建立(如果檔案不存在)或截斷(如果檔案存在)。

'wx+' - 類似 'w+',但如果 path 存在,則失敗。

'a' - 以追加模式開啟檔案。如果檔案不存在,則會被建立。

'ax' - 類似於 'a',但如果 path 存在,則失敗。

'a+' - 以讀取和追加模式開啟檔案。如果檔案不存在,則會被建立。

'ax+' - 類似於 'a+',但如果 path 存在,則失敗。

關閉檔案

fs.close( fd , callback )

fs.closesync( fd )

//fd 猜測為node為開啟檔案分配的乙個id

刪除檔案:

fs.unlink( path , callback )                 //非同步執行 , fs非同步函式callback第乙個引數均為error物件

fs.unlinksync( path )                         //同步執行  , 報錯會中斷執行

檔案重新命名

fs.rename( oldpath, newpath, callback)

fs.renamesync( oldpath, newpath )

讀取檔案

fs.readfile( path [,option] ,callback )      //callback第二個引數為內容data

fs.readfilesync ( path [,option] )

fs.readlink( path [,option] ,callback )  

fs.readlinksync ( path [,option] )

追加資料:

擷取檔案

fs.turncate( path[, length] ,callback)

fs.turncatesync( path [, length])

拷貝檔案: 新增

fs.copyfile( src, dest[, flags], callback )

fs.copyfilesync( src, dest [,flags] )

src:被拷貝的檔案

dest:拷貝的目檔案  //檔案存在被覆蓋

刪除資料夾:// 要求被刪除資料夾必須為空資料夾

fs.rmdir( path , callback )

fs.rmdirsync( path )

讀取乙個目錄的內容:

fs.readdir( path , callback )     //callback第二個引數file是乙個除. 和 ..  以外檔案的陣列

fs.readdirsync ( path ) 

建立資料夾:

fs.mkdir( path ,callback )

fs.mkdir( path )

檢查檔案存在?:// 不推薦使用,函式返回乙個fs.stat物件(包含一些簡單的檔案資料)

fs.stat( path ,callback )

fs.statsync( path )

測試指定的檔案或目錄的使用者許可權:

fs.access( path [, mode ] , callback )

fs.accesssync( path [, mode ]  )

mode: fs.constants.f_ok 檔案對呼叫程序可見。

fs.constants.r_ok 檔案可被呼叫程序讀取

fs.constants.w_ok 檔案可被呼叫程序寫入

fs.constants.x_ok 檔案可被呼叫程序執行。 對 windows 系統沒作用(相當於 fs.constants.f_ok)。

改變檔案或目錄訪問許可權

fs.chmod( path ,mode ,callback)

fs.chmodsync ( path ,mode)

mode: //待新增

改變某個檔案或目錄的所有者和所屬的組:

fs.chown( path ,uid ,gid ,callback )

fs.chownsync( path ,uid ,gid )

監測檔案變化

fs.watch( path , output , callback ) // 輸出為buffer,callback第乙個引數為eventtype fs檔案變化型別,第二個是filename資料夾名。

fs.watch('./tmp', , (eventtype, filename) => 

});

停止監視檔案

fs.unwatchfile(filename[, listener])

以上為初步的檔案操作,不涉及buffer和流。

NodeJs中的fs模組

const fs require fs 1.fs.stat 檢測是檔案還是目錄 fs.stat package.json err,data console.log 檔案 console.log 目錄 2.fs.mkdir 建立目錄 fs.mkdir css err console.log 建立成功 ...

深入Nodejs模組fs 檔案系統操作

node 的fs文件密密麻麻的 api 非常多,畢竟全面支援對檔案系統的操作。文件組織的很好,操作基本分為檔案操作 目錄操作 檔案資訊 流這個大方面,程式設計方式也支援同步 非同步和 promise。本文記錄了幾個文件中沒詳細描寫的問題,可以更好地串聯fs文件思路 檔案描述符是乙個非負整數。它是乙個...

Nodejs內建模組path與fs模組簡單使用

const fs require fs fs 模組 用於操作檔案 資料夾 例如寫入檔案,內容追加,建立資料夾,刪除檔案等多種操作。上篇文章記錄了nodejs 使用koa框架上傳。前端培訓 那麼既然有了上傳,就應該有刪除檔案。使用同步api 如果檔案不存在 異常會報錯 fs.rmsync 要刪除的檔案...