1. 程式人生 > >nodejs學習

nodejs學習

eve 以及 nod 介紹 mit encoding event 參數 posit

Events模塊

  1. Node.js 中所有能發出事件的對象都是events.EventEmitter的實例,對象發出事件後,需要有響應函數進行響應處理。
  2. EventEmitter類的對象具有一系列方法可以進行事件相關操作,他們是:
  • addListener(event,listener) / on(event,listener): 為對象的事件event添加監聽器listener.
  • once(evnet,listener): 為對象的事件event添加只響應一次的監聽器listener.
  • removeListener(event,listener): 移除一個監聽器listener.
  • removeAllListeners([listeners]): 移除與一個對象綁定的所有listener.
  • setMaxListeners(n): 設置與一個對象綁定的監聽器最多有n個。
  • emit(event, [arg1], [arg2], [...]): 觸發事件event.
  • listenerCount(): 查看與對象綁定的監聽器的個數。

fs模塊

對系統文件及目錄進行讀寫操作

readFile讀取文件

使用fs.readFile(filename, [options], callback)方法讀取文件。

readFile接收三個參數,filename是文件名;[options]是可選的參數,為一個對象,用於指定文件編碼(encoding)及操作方式(flag);callback是回調函數。

fs.readFileSync(filename, [options])是readFile的同步方法。

writeFile寫入文件

使用fs.writeFile(filename, data, [options], callback)寫入內容到文件。

writeFile接收四個參數,filename是文件名稱;data是要寫入文件的數據;[options]是一個對象為可選參數,包含編碼格式(encoding),模式(mode)以及操作方式(flag);callback是回調函數。

使用fs.read和fs.write讀寫文件

使用fs.readfs.write讀寫文件需要使用fs.open

打開文件和fs.close關閉文件。

先介紹fs.open(path, flags, [mode], callback)方法,此方法用於打開文件,以便fs.read()讀取。path是文件路徑,flags是打開文件的方式,[mode]是文件的權限(可選參數,默認值是0666),callback是回調函數。

fs.read()

先介紹fs.open(path, flags, [mode], callback)方法,此方法用於打開文件,以便fs.read()讀取。path是文件路徑,flags是打開文件的方式,[mode]是文件的權限(可選參數,默認值是0666),callback是回調函數。

flags的值:

  • r :讀取文件,文件不存在時報錯;
  • r+ :讀取並寫入文件,文件不存在時報錯;
  • rs :以同步方式讀取文件,文件不存在時報錯;
  • rs+ :以同步方式讀取並寫入文件,文件不存在時報錯;
  • w :寫入文件,文件不存在則創建,存在則清空;
  • wx :和w一樣,但是文件存在時會報錯;
  • w+ :讀取並寫入文件,文件不存在則創建,存在則清空;
  • wx+ :和w+一樣,但是文件存在時會報錯;
  • a :以追加方式寫入文件,文件不存在則創建;
  • ax :和a一樣,但是文件存在時會報錯;
  • a+ :讀取並追加寫入文件,文件不存在則創建;
  • ax+ :和a+一樣,但是文件存在時會報錯。

fs.close(fd, [callback])用於關閉文件,fd是所打開文件的文件描述符。

fs.read(fd, buffer, offset, length, position, callback)方法接收6個參數。

  • fd是文件描述符,必須接收fs.open()方法中的回調函數返回的第二個參數;
  • buffer是存放讀取到的數據的Buffer對象;
  • offset指定向buffer中存放數據的起始位置;
  • length指定讀取文件中數據的字節數;
  • position指定在文件中讀取文件內容的起始位置;
  • callback是回調函數,回調函數的參數:
    • err用於拋出異常;
    • bytesRead是從文件中讀取內容的實際字節數;
    • buffer是被讀取的緩存區對象。

ps:參考自實驗樓

nodejs學習