日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

字節數組輸入流 ByteArrayInputStream

系統 1770 0

???? ByteArrayInputSteam類從內存中的字節數組中讀取數據,因此它的數據源是一個字節數組。這個類的構造方法包括:?
???? ByteArrayInputStream(byte[] buf)--------參數buf指定字節數組類型的數據源。?
???? ByteArrayInputStream(byte[] buf, int offset, int lenght)-----參數buf指定字節數組類型數據源,參數offset指定從數組中開始讀取數據的起始下標位置,lenght指定從數組中讀取的字節數。?
??? ByteArrayInputStream類本身采用了適配器設計模式,它把字節數組類型轉換為輸入流類型,使得程序能夠對字節數組進行讀操作。?
???? 下面這個ByteArrayTester類演示了 ByteArrayInputStream的用法。?
Java代碼?? 收藏代碼
  1. package ?xiaohang.com;??
  2. ??
  3. import ?java.io.ByteArrayInputStream;??
  4. import ?java.io.IOException;??
  5. ??
  6. public ? class ?ByteArrayTester?{??
  7. ???? public ? static ? void ?main(String[]?args)? throws ?IOException?{??
  8. ???????? byte []?buff?=? new ? byte []?{? 2 ,? 15 ,? 67 ,?- 1 ,?- 9 ,? 9 ?};??
  9. ????????ByteArrayInputStream?in?=? new ?ByteArrayInputStream(buff,? 1 ,? 4 );??
  10. ???????? int ?data?=?in.read();??
  11. ???????? while ?(data?!=?- 1 )?{??
  12. ????????????System.out.println(data?+? "?" );??
  13. ????????????data?=?in.read();??
  14. ????????}??
  15. ????????in.close(); //?ByteArrayInputSystem?的close()方法實際上不執行任何操作 ??
  16. ????}??
  17. }??


?? 以上字節數組輸入流從字節數組buff的下標為1的元素開始讀,一共讀取4個元素。對于讀到的每一個字節類型的元素,都會轉換為int類型。?
??? 例如:對于字節類型的15,二進制形式為00001111,轉換為int類型的二進制形式為?
00000000 00000000 00000000 00001111,因此字節類型的15 轉換為int類型仍然是15;對于字節類型的-1,二進制形式為 11111111,轉換為int類型的二進制形式為?
00000000 00000000 00000000 11111111 ,因此字節類型的-1 轉換為int類型是255;對于字節類型的-9,二進制形式為 11110111, 轉換為int類型的二進制形式為 00000000 00000000 00000000 11110111, 因此字節類型的-9轉換為 int類型是 247。?

?? 以上字節數組輸入流在讀取了4個字節后,就達到了輸入流的末尾,在執行read()方法,就會返回-1。以上程序的打印結果為:?

字節數組輸入流 ByteArrayInputStream ?

?? 需要指出的是,這里所說的把byte類型轉換為int類型,與賦值運算中的類型轉換是兩回事。在賦值運算中,把byte類型賦給int類型,取值不變,例如::?
Java代碼?? 收藏代碼
  1. byte ?b1= 15 ,b2=- 1 ,b3=- 9 ??
  2. int ?a1=b1,a2=b2,a3=b3;? //a1?a2?a3?的取值分別為15,?-1和-9 ??

字節數組輸入流 ByteArrayInputStream


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 建宁县| 屏边| 集贤县| 华容县| 永嘉县| 九江县| 湛江市| 银川市| 阿克陶县| 高淳县| 北安市| 阜城县| 崇文区| 西宁市| 三台县| 鹿泉市| 临夏市| 大悟县| 灵寿县| 中方县| 东港市| 曲麻莱县| 郓城县| 大埔区| 平舆县| 共和县| 繁昌县| 晋宁县| 民和| 新密市| 年辖:市辖区| 灵丘县| 漳平市| 炉霍县| 布拖县| 南靖县| 山西省| 平武县| 南康市| 西盟| 余江县|