1. 程式人生 > 程式設計 >Node -- fs(基本類)

Node -- fs(基本類)

一、fs.Dirent 類

當使用 `withFileTypes` 選項設定為 `true` 呼叫 `fs.readdir()` 或 `fs.readdirSync()` 時,生成的陣列將填充 `fs.Dirent` 物件,而不是字串或 `Buffer`

  • dirent.isBlockDevice():塊裝置
  • dirent.isCharacterDevice():字元裝置
  • dirent.isDirectory():檔案系統目錄
  • dirent.isFIFO():先進先出(FIFO)管道
  • dirent.isFile():常規檔案
  • dirent.isSocket():套接字
  • dirent.isSymbolicLink()
    :符號連結
  • dirent.name:檔名

二、fs.FSWatcher 類

fs.watch()返回的物件是該型別。

事件

  • change(eventType,filename):當一個被監視的目錄或檔案有變化時觸發 eventTyperenamechange
  • close:當監視器停止監視更改時觸發
  • error:當發生錯誤時觸發。

方法

  • watcher.close():停止監聽 fs.FSWatcher 的變化。

三、fs.Stats 類

從 fs.stat()fs.lstat()和 fs.fstat()及其同步版本返回的物件都是該型別。

Stats {
    dev: 2114,ino: 48064969,mode: 33188,nlink: 1,uid: 85,gid: 100,rdev: 0,size: 527,blksize: 4096,blocks: 8,atimeMs: 1318289051000.1,mtimeMs: 1318289051000.1,ctimeMs: 1318289051000.1,birthtimeMs: 1318289051000.1,atime: 'Mon,10 Oct 2011 23:24:11 GMT'
,mtime: 'Mon,ctime: 'Mon,birthtime: 'Mon,10 Oct 2011 23: 24: 11 GMT' } 複製程式碼

方法

  • isBlockDevice():塊裝置
  • isCharacterDevice():字元裝置
  • isDirectory():檔案系統目錄
  • isFIFO():先進先出(FIFO)管道
  • isFile():常規檔案
  • isSocket():套接字
  • isSymbolicLink():符號連結

屬性

  • dev:裝置的數字識別符號
  • ino:檔案系統特定的檔案索引節點編號
  • mode:描述檔案型別和模式的位欄位
  • nlink:檔案存在的硬連結數
  • uid:擁有該檔案(POSIX)的使用者的數字型使用者識別符號
  • gid:擁有該檔案(POSIX)的群組的數字型群組識別符號
  • rdev:如果檔案被視為特殊檔案,則此值為數字型裝置識別符號
  • size:檔案的大小(以位元組為單位)
  • blksize:用於 I/O 操作的檔案系統塊的大小
  • blocks:為此檔案分配的塊數
  • atimeMs:訪問此檔案的時間戳
  • mtimeMs:修改此檔案的時間戳
  • ctimeMs:更改檔案狀態的時間戳
  • birthtimeMs:建立時間的時間戳
  • atime:訪問時間" - 檔案資料最近被訪問的時間。
  • mtime:修改時間" - 檔案資料最近被修改的時間。
  • ctime:變化時間" - 檔案狀態最近被改變的時間(修改索引節點資料)。
  • birthtime:建立時間" - 檔案建立的時間。

四、fs.ReadStream 類

  • 成功呼叫fs.createReadStream() 將返回一個新的fs.ReadStream 物件。

事件

  • close:當 ReadStream 底層的檔案描述符被關閉時觸發。
  • open(fd):當 ReadStream 的檔案被開啟時觸發
  • readyopen 事件之後立即觸發。

屬性

  • readStream.bytesRead:已讀取的位元組數。

  • readStream.path:流正在讀取的檔案的路徑

  • readStream.pending:如果底層的檔案還未被開啟(即在觸發 ready 事件之前),則此屬性為 true。

五、fs.WriteStream 類

WriteStream 一個可寫流。

事件

  • close:當 WriteStream 的底層檔案描述符已關閉時觸發
  • open(fd):當 WriteStream 的檔案開啟時觸發
  • readyopen 事件之後立即觸發。

屬性

  • readStream.bytesRead:到目前為止寫入的位元組數

  • readStream.path:流正在寫入的檔案的路徑

  • readStream.pending:如果底層的檔案還未被開啟(即在觸發 ready 事件之前),則此屬性為 true。