node.js當中的fs模塊與readline模塊主要對應着系統的文件操做,node當中的文件操做和網絡操做都屬於阻塞性操做,故存在着大量的異步回調函數,其回調函數遵循上一篇文章介紹的 node.js當中對於回調函數的規定 的規則。而且爲了不出錯,凡是涉及文件操做,咱們一概使用文件的絕對物理路徑來傳遞文件路徑參數,這裏經常使用的爲path.join()
和__dirname
,可詳細用法可參考 node.js當中的全局成員與path模塊的使用。文件操做的api當中,每個異步操做的api都有一個與之對應的同步方法,在此只介紹異步的api,通常來講,同步的方法只是比異步的方法少了一個回調函數的參數。node
該方法用於檢測文件的狀態,能夠藉此來判斷某個文件是否存在。path
參數傳入該文件的絕對物理路徑,該callback
回調函數有兩個參數err
和stats
。其中err
爲錯誤信息參數,stats
爲一個文件狀態對象。segmentfault
若傳入的文件路徑當中的文件不存在,則會出現以下的報錯信息。api
該方法可用於往指定文件當中寫入內容,該內容會覆蓋文件當中原有的內容。若傳入的文件路徑當中的文件不存在,則先完成該文件的穿件,再往裏面寫入指定內容。path
參數爲該文件的絕對物理路徑,data
爲須要寫入該文件當中的數據內容,其中options
參數可選,能夠傳入編碼格式,若不傳則默認爲utf8
。callback
回調參數當中只有一個錯誤信息參數err
,通常在寫入失敗時觸發調用。數組
該方法可用於往指定文件當中追加寫入內容,該內容不會覆蓋文件當中原有的內容,只會在原有內容的基礎上進行追加。若傳入的文件路徑當中的文件不存在,則先完成該文件的穿件,再往裏面寫入指定內容。path
參數爲該文件的絕對物理路徑,data
爲須要寫入該文件當中的數據內容,其中options
參數可選,能夠傳入編碼格式,若不傳則默認爲utf8
。callback
回調參數當中只有一個錯誤信息參數err
,通常在追加寫入失敗時觸發調用。網絡
該方法可用於完成指定文件的刪除。path
參數爲該文件的絕對物理路徑,callback
回調參數當中只有一個錯誤信息參數err
,通常在該文件不存在或者刪除文件失敗時觸發調用。app
該方法用於讀取指定文件當中的內容,path
參數爲該文件的絕對物理路徑,其中options
參數可選,能夠傳入編碼格式,如讀取文本文件時,可傳入'utf8'
,若不指定編碼格式,則默認輸出讀取的文件內容爲Buffer
形式,故通常都會傳入該參數。callbac
k回調參數當中有兩個參數err
和data
,其中err
爲錯誤信息參數,通常在在文件不存在或者讀取文件失敗時觸發調用,data
爲文件內容。異步
該方法可用於移動或重命名指定文件。oldPath
參數爲該文件原來的路徑,newPath
參數爲該文件移動或重命名以後的路徑,這兩個參數都必須能傳入文件完整的絕對物理路徑。callback
回調參數當中只有一個錯誤信息參數,通常在oldPath
當中指定的文件不存在或者該操做失敗時觸發調用。函數
注意:文件的新路徑當中的文件夾必須存在,若不存在則會出現以下的報錯信息。編碼
該方法能夠用於建立一個目錄文件夾,其中path
爲該目錄的絕對物理路徑,callback
回調函數當中也只有一個錯誤信息參數,通常在目錄建立失敗時觸發調用。spa
注意:該方法不能完成多級目錄的建立,
node
當中要求要建立的那個文件夾所在的文件夾必須能都存在。不然就會出現報錯信息。
該方法能夠用於刪除一個空目錄。其中path
爲該目錄的絕對物理路徑,callback
回調函數當中也只有一個錯誤信息參數,通常在該目錄不存在或者刪除操做失敗時觸發調用。
注意:該傳入的目錄路徑當中的目錄必須能爲一個空目錄,不然會出現以下的報錯信息,也不能完成刪除操做。
該方法能夠用於讀取一個指定目錄當中的信息。其中path
爲該目錄的絕對物理路徑,callback
回調函數當中有兩個參數err
和files
,err
爲錯誤信息參數,通常在該目錄不存在或讀取失敗時觸發調用,files
爲一個數組對象,包含該目錄下的全部文件夾與文件的名字。(僅爲文件夾的名字和文件名,不是路徑形式)。