大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

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

Nio框架是什么

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

在 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視頻教程,里面的課程內容通俗易懂,適合沒有基礎的小伙伴學習,希望對大家能夠有所幫助。

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 久久黄色录像 | 国产欧美日韩看片片在线人成 | 色偷偷青青草原在线视频 | 国产成人精品免费久久久久 | 国产在线播放一区二区 | 欧美精品aaa久久久影院 | 免费国产午夜在线观看 | 国产欧美国产精品第二区 | 毛片在线播| 伊人久久精品亚洲精品一区 | 精品免费国产一区二区三区 | 99在线观看视频 | 奇米成人网 | 全免费a级毛片免费看视频免 | 玖玖色在线| 亚洲一区二区三区麻豆 | 两性色午夜视频免费老司机 | 国产精品久久现线拍久青草 | 波多野结衣在线一区 | 亚洲欧美日韩高清在线看 | 久久在精品线影院精品国产 | 色久网站 | 女人用粗大自熨喷水在线视频 | 免费观看黄色毛片 | 国产大尺度福利视频在线 | 九操网 | 精品无码久久久久久久动漫 | 三人性free孕交欧美 | 在线精品自拍 | 草草影院1 | 久久久婷 | 成人国产精品999视频 | 亚洲欧美日韩综合 | 亚洲毛片 | 我要看一级毛片 | 亚洲无吗在线视频 | 国产午夜爽爽窝窝在线观看 | 男人的天堂久久香蕉国产 | 婷婷亚洲视频 | 四虎永久在线观看视频精品 | 综合久久99 |