91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在JavaScript中Node.js處理數據IO的方法是什么

發布時間:2021-11-04 16:33:30 來源:億速云 閱讀:186 作者:iii 欄目:web開發

本篇內容主要講解“在JavaScript中Node.js處理數據IO的方法是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“在JavaScript中Node.js處理數據IO的方法是什么”吧!

在JavaScript中,對于字符串的操作已經十分便捷,不存在二進制數據類型,這些對字符串的簡單操作和DOM操作基本上已經可以滿足前端的需求了,但是Node.js中提供了處理文件和I/O的功能,因此需要處理大量的二進制數據。而在Node.js中Buffer和Stream文件流對二進制數據的處理提供了很好的支持

Buffer緩存區

Buffer類是隨著Node.js內核一起發布的核心庫,用于支持I/O操作中移動的數據處理。Buffer類為Node.js提供了一種存儲原始數據的方法,該方法用來在內存中創建一個專門存放二進制數據的緩存區,也就是說預留了一定的存儲空間在內存中,用來暫時保存輸入或者輸出的數據,這樣Node.js也可以處理二進制數據

先說二進制,二進制是計算機技術中廣泛采用的一種數制,是用0和1兩個數碼來表示的數據,由于計算機只能識別二進制數據,而人們很難看懂那些0和1的組合代表什么,所以就需要將二進制數據轉換為人們能夠識別的字符,這就需要設置字符編碼,通過字符編碼找到相應的字符集進行轉換,最遠書的字符編碼就是ASCII

再說Buffer的構造函數

  • new Buffer(array)

  • new Buffer(size)

  • new Buffer(str[,encoding])

  • new Buffer(Buffer)

  • new Buffer(arrayBuffer)

可以看出,參數分別是字節,數組,buffer對象,字符串等等

再比如寫入讀取的語法:

  • write(string[,offset[,length]][,encoding])

  • toString([encoding,state[,end]])

  • concat(list[,totallength])

Stream文件流

由于Buffer緩存區限制在1GB,超過1GB的文件無法直接完成讀寫,在讀寫大文件時,如果讀/寫資源一直持續不停,那么Node.js就無法繼續其他的工作,為此,Node.js提供了Stream文件流模塊

最理想的方法就是,讀一部分,寫一部分,不論文件的大小,只是時間的問題,總會處理完成,這就需要用到流的概念

文件A通過流動的形式通過數據流管道,進入文件B中,采用“讀一部分。寫一部分”的方式,流的好處就是,接收方可以提前處理,縮短時間,提高速度,就像在線看視頻,并不是全部緩存好了再播放,而是看一部分,緩存一部分

Stream四種流類型

  • Readable

  • Writable

  • Duplex

  • Transform

而在使用大文件復制時,通過可讀流的chunk參數傳遞數據,chunk就像接數據的盆,在可讀流中還有一個函數叫pipe(),這個函數是一個很高效的文件處理方式,可以簡化之前復制文件的操作,所以,使用pipe進行完成數據的讀取和寫入也是很重要的

到此,相信大家對“在JavaScript中Node.js處理數據IO的方法是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绥滨县| 原平市| 大港区| 上虞市| 宜春市| 门源| 莎车县| 潞城市| 调兵山市| 白水县| 扶余县| 长丰县| 佛教| 怀集县| 祁阳县| 安泽县| 姜堰市| 县级市| 邹平县| 舟曲县| 卢氏县| 灯塔市| 辽源市| 阿坝| 娄烦县| 沁源县| 江阴市| 栾川县| 黑河市| 涟源市| 福安市| 巴林右旗| 黄大仙区| 阿勒泰市| 鸡泽县| 娱乐| 泰安市| 比如县| 光山县| 资源县| 彝良县|