天天看點

NodeJs——(6)檔案系統 fs

(20)檔案系統fs

①提供了檔案的讀取、寫入、更名、删除、周遊目錄、連結等功能。

所有操作都有異步和同步兩種方法。

 ②檔案讀取:readfile

參數一:是檔案名;

參數二:編碼方式,預設二進制(具體搜之前的);

參數三:回調函數(參數一是錯誤,參數二是讀取的檔案内容);

标準方法:

參數二可以是utf8,也可以是utf8,也可以是utf-8。效果是一樣的

輸出:

NodeJs——(6)檔案系統 fs

同步版:

readfilesync(檔案名,

檔案編碼)

傳回值是data(讀取的檔案内容);如果有錯誤發生,會抛出異常,需要使用try和catch來處理;

③fs.open檔案的打開;

原型:

path是路徑,略;

flags表示打開的方式,具體如圖:

NodeJs——(6)檔案系統 fs

mode表示權限,預設是0666。

6表示4+2;根據推測,1執行,2寫,4讀,他們的和就是權限;

回調函數的fd表示檔案描述符:非負整數,表示作業系統核心為目前程序所維護的打開檔案的記錄表索引。

另外,第一個6表示檔案所有者的權限;第二個表示同組的使用者;第三個表示其他使用者;

這個指令需要配合write、read,或者其他指令進行操作,例如:

在test.txt檔案裡,追加寫入pppp四個字元

④fs.read檔案的讀取

他相對于fs.readfile來說,是更為底層的接口。

其作用是從fs.open的回調函數中的檔案描述符fd中讀取資料,并寫入buffer指向的緩沖區對象。

offset是buffer寫入的偏移量;

length是要從檔案中讀取的位元組數;

position是檔案讀取的起始位置(當為null時,則從目前檔案指針的位置讀取);

回調函數傳遞的bytesread表示讀取的位元組數;buffer表示緩沖區對象;

如代碼:

輸出結果:

NodeJs——(6)檔案系統 fs

第五行的buff表示是上面new出來的buffer對象;

3表示寫入到buf這個對象的第4個位置;

4表示讀取fd 4個位元組;

2表示從fd的第二個位元組開始讀取;

bytesread表示讀取到了4個位元組;(假如讀取到結尾了,那麼這個數字将不包含讀取到結尾的那些,比如position位置的數字很大的時候,這裡可能就是0)

buffer表示前面那個buf對象

⑤fs子產品的函數清單:

NodeJs——(6)檔案系統 fs
NodeJs——(6)檔案系統 fs
NodeJs——(6)檔案系統 fs

繼續閱讀