黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Nio框架是什么

Nio框架是什么

更新時間:2022-03-29 10:53:31 來源:動力節點 瀏覽1889次

在 IO 之后,java 提供了新的 IO。這也稱為 NIO,從 JDK 1.4 開始引入。NIO 帶來了許多讀取和寫入文件、通道和套接字的功能。NIO API 有兩代,即 NIO.1 和 NIO.2。在 NIO.1 緩沖區中,引入了 charset 和 channels。在 JDK 7 中,NIO 框架引入了新的包 java.nio.file 等。這些被稱為 NIO.2 系列。它是 NIO 框架中的一個度量版本。NIO.2 提供了 Path、Files 等改變了 java 中文件處理方式的類。現在我們將詳細了解 NIO 框架,我們提供了頁面鏈接以通過示例獲得更好的清晰度。

Nio框架是什么

Java NIO 中的緩沖區

Java NIO 從緩沖區開始。緩沖區是數據的容器。java.nio 包包含所有緩沖區 API。有數據類型特定的緩沖區,如 ByteBuffer、CharBuffer、DoubleBuffer、FloatBuffer、IntBuffer、LongBuffer、ShortBuffer。java.nio.Buffer 是上面提到的所有數據類型緩沖區擴展的基類。緩沖區是任何特定原始類型的元素序列。緩沖區的基本屬性是它的容量、限制和位置,并且緩沖區不是線程安全的。

緩沖區容量

一個緩沖區包含的元素個數就是緩沖區的容量。緩沖區的容量不能為負,并且永遠不會改變。

緩沖區限制

這是未讀取或未寫入的第一個元素的索引。限制不能為負,也不能大于其容量。

緩沖區中的位置

它將被讀取或寫入的下一個元素的索引。位置不能為負數,也不能大于其限制。

在 Buffer 中標記和重置

在某些時候,通過調用 reset 方法來重置緩沖區的位置。該位置稱為標記。reset() 只能在定義了標記且標記未始終定義時調用。如果我們定義了一個標記,并且在某個時候我們將位置和限制調整為低于標記,那么標記將被丟棄。標記、極限、位置和容量之間的關系如下所示。

0 <= 標記 <= 位置 <= 限制 <= 容量

Java NIO Buffer中clear()方法的作用

clear() 方法使緩沖區準備好在讀取和相對放置操作中接受新流。它設置了容量限制,并且位置變為零。

java NIO Buffer中flip()方法的作用

flip() 方法使緩沖區在寫入和相關獲取操作的情況下準備就緒。它將限制設置為當前位置并且位置變為零。

Java NIO Buffer中rewind()方法的作用

rewind() 使緩沖區準備好從緩沖區重新讀取數據。在這種情況下,限制保持不變,位置變為零。

Java NIO 中的 BufferUnderflowException

在從當前位置開始的讀取操作中,位置會增加被傳輸元素的數量,如果請求的元素數量超過限制,則相對 get 操作會拋出未經檢查的異常,即 java.nio。緩沖區下溢異常。

Java NIO 中的 BufferOverflowException

在寫入操作中,請求的元素被放入緩沖區,如果超過限制,則 put 方法拋出未經檢查的異常,即 java.nio.BufferOverflowException

現在找到一些 java.nio 包的 API。

ByteBuffer JDK 1.4 中引入了ByteBuffer。ByteBuffer 是字節的緩沖區。ByteBuffer 是抽象類,但它有靜態方法。

CharBuffer CharBuffer 是字符的緩沖區。CharBuffer 對象是通過調用 allocate() 創建的。

Java NIO 中的字符集

字符集 API 位于包 java.nio.charset 下。charset 的作用是字節序列和 16 位 unicode 字符之間的命名映射。java nio charsets API 中有編碼器和解碼器。我們一起稱它為編碼員。編碼器將字符轉換為字節,解碼器將字節轉換為任何特定的字符集。

Charset Charset 在給定的 charset 和 UNICODE 之間起到編碼和解碼的作用。

CharsetDecoder 和 CharsetEncoder在 java 中,從一個字符集到另一個字符集的編碼和解碼可以使用 java NIO API 完成。可以將具有任何字符集的 ByteBuffer 更改為 Unicode 字符集的 CharBuffer。

Java 中的通道

NIO 通道位于 java.nio.channels 包中。通道是與文件、套接字或任何硬件設備等實體的開放連接。通道可以異步關閉和中斷。有不同類型的渠道。

AsynchronousChannelGroup AsynchronousChannelGroup 在異步通道組中進行資源共享。

Pipe.SinkChannel 和 Pipe.SourceChannel Pipe 確保數據以與寫入 Pipe 相同的順序讀取。

FileLock FileLock 鎖定或嘗試鎖定文件的給定部分。

FileChannel FileChannel 保持一個可以修改的當前位置。

ReadableByteChannel通道返回 IO 類。ReadableByteChannel 由 Channels 獲取。newChannel(in) 通過傳遞輸入流。

Java NIO 中的文件 API

在 JDK 7 中,NIO.2 已隨包 java.nio.file 一起引入。該 API 提供了訪問文件、文件屬性和文件系統的類。API文檔 支持符號鏈接,即任何文件位置的參考鏈接。通過 toPath() 方法可以實現 File 和 Path 之間的互操作性。我們將討論 java.nio.file API 的一些類。

路徑和路徑 Path的用途是在文件系統中定位文件。Path 可以靈活地通過部分證明路徑來定位文件。

文件它可以創建和刪除目錄以及文件。它還在現有文件和鏈接目錄之間創建鏈接。

目錄流DirectoryStream 遍歷文件并返回每個文件的 Path 實例。DirectoryStream 必須在迭代后關閉,否則會出現資源泄漏。

WatchService WatchService 有責任觀察所有注冊對象的變化。只有 watchable 對象應該注冊到 watch 服務來監控變化。

通過上述相信大家對Nio框架已經有了一些了解,如果大家對此比較感興趣,想了解更多相關知識,不妨來關注一下動力節點的NIO視頻教程,里面的課程內容通俗易懂,適合沒有基礎的小伙伴學習,希望對大家能夠有所幫助。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 欧美肥老妇| 亚洲综合伦理一区 | 黄色在线观看视频网站 | 日韩欧美高清色码 | 精品91一区二区三区 | 精品欧美在线观看视频 | 18成人免费观看网站入口 | 国产精品天天看特色大片不卡 | 任你躁在线精品免费视频网站 | 午夜剧场福利 | 久久国产精品-国产精品 | 亚洲手机国产精品 | 国产高清大尺度一区二区不卡 | 日本高清乱偷www | 综合网激情五月 | 黄色免费网站在线看 | 国产成人一区二区三区影院免费 | 成年大片免费高清在线观看 | 免费的三级网站 | 黄色网在线免费观看 | 草草视频在线播放 | 久久不卡一区二区三区 | 午夜激情免费 | 国产一区在线视频 | 色综合天天综一个色天天综合网 | 欧美一级看片免费观看视频在线 | 精品国产欧美一区二区最新 | 激情影院成人区免费观看视频 | 噜噜噜噜噜噜色 | 国产成人 免费观看 | 午夜网站视频 | 最近最新中文字幕免费高清1 | 97久久久久 | 欧美禁片在线观看免费 | 日韩成人精品在线 | 免费一级毛片在播放视频 | 欧美在线播放视频 | 我要看黄色片 | 久久综合久久精品 | 国内不卡1区2区 | yy4408女性午夜私人影院 |