原文:InputStream類available和read方法讀取流數據不全?

.問題描述 需要將流InputStream轉換為byte 數組,定義的方法如下: 在對文件進行轉換並保存到本地時,發現文件不完整或內容錯誤。 .原因分析 從代碼中可以看出,在讀物流時調用的是available方法,點擊進入其源碼發現其返回的是當前流可用長度 估計值 ,不是流的總長度。而在read方法讀取流中數據到buffer中,但讀取長度為 至buffer.length,若流結束或遇到異常則返回 ...

2021-12-19 16:15 0 812 推薦指數:

查看詳情

InputStreamavailable()方法

InputStreamavailable()方法 這個方法可以在讀寫操作前先得知數據流里有多少個字節可以讀取需要注意的是,如果這個方法用在從本地文件讀取數據時,一般不會遇到問題,但如果是用於網絡操作,就經常會遇到一些麻煩。比如,Socket通訊時,對方明明發來了1000個字 ...

Tue Feb 20 04:41:00 CST 2018 2 5810
關於InputStreamavailable()方法

要一次讀取多個字節時,經常用到InputStream.available()方法,這個方法可以在讀寫操作前先得知數據流里有多少個字節可以讀取。需要注意的是,如果這個方法用在從本地文件讀取數據時,一般不會遇到問題,但如果是用於網絡操作,就經常會遇到一些麻煩。比如,Socket通訊時,對方明明 ...

Fri May 13 00:17:00 CST 2016 3 34037
JAVA IO InputStream Read方法

read()首先我們來看這個沒有參數的read方法,從(來源)輸入流中(讀取的內容)讀取數據的下一個字節到(去處)java程序內部中,返回值為0到255的int類型的值,返回值為字符的ACSII值(如a就返回97,n就返回110).如果沒有可用的字節,因為已經到達的末尾, -1返回的值 ...

Wed Feb 20 19:15:00 CST 2019 0 2110
Java中關於InputStreamavailable()方法

要一次讀取多個字節時,經常用到InputStream.available()方法,這個方法可以在讀寫操作前先得知數據流里有多少個字節可以讀取。需要注意的是,如果這個方法用在從本地文件讀取數據時,一般不會遇到問題,但如果是用於網絡操作,就經常會遇到一些麻煩。比如,Socket通訊時,對方明明發來 ...

Thu Apr 21 18:30:00 CST 2022 0 1328
InputStreamread()讀取機制

InputStream.read()方法,就從輸入流中讀取一個字節的數據,並返回這個字節。如果讀取內容到達文件末尾,那么就返回-1。 ...

Thu Aug 15 17:14:00 CST 2019 0 3334
InputStream中的read方法

int read() : 1.從讀取讀取的是一個一個字節 2.返回的是字節的(0-255)內的字節值 3.讀一個下次就自動到下一個,如果碰到-1說明沒有值了. int read(byte[] b) : int available():(慎用 ...

Tue Oct 22 02:22:00 CST 2019 0 558
InputStreamread方法

從輸入流中讀取數據最常用的方法基本上就是如下 3 個 read() 方法了:  1 、 read () 方法,這個方法 從輸入流中讀取數據的下一個字節。返回 0 到 255 范圍內的 int 字節值。如果因為已經到達末尾而沒有可用的字節,則返回值 -1 。  2 、 read (byte[] b ...

Mon Feb 17 21:16:00 CST 2020 0 3202
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM