原文:關於 InputStream.available()

InputStream.available 可以獲取InputStream的總的長度嗎 答案是不確定。總結如下: 處理文件輸入流: 可以 處理網絡流 socket :不可以 官方的說明是: 總之,盡量還是別使用它來獲取流的長度, 如果是文件, 我們完全可以使用file對象的.length 方法啊 其他流 也應該有對應的方式獲取流的長度,實在沒有,那怎么辦 只能讀流完之后再獲取。 有人說: Inpu ...

2021-11-12 20:41 0 5185 推薦指數:

查看詳情

網絡流中 InputStream.available() = 0 問題探究

在處理文件輸入流時,通過調用available()方法來獲取還有多少字節可以讀取,根據該數值創建固定大小的byte數組,從而讀取輸入流的信息。 但是在處理網絡流(socket)時,通過available()方法對輸入流進行長度判斷,數值為0,這意味着對方發送的流中無數據,但實際上 ...

Thu May 09 09:15:00 CST 2019 0 3353
關於InputStream類的available()方法

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

Fri May 13 00:17:00 CST 2016 3 34037
InputStream類的available()方法

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

Tue Feb 20 04:41:00 CST 2018 2 5810
Java中關於InputStream類的available()方法

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

Thu Apr 21 18:30:00 CST 2022 0 1328
InputStreamavailable和read方法讀取流數據不全?

1.問題描述 需要將流InputStream轉換為byte[]數組,定義的方法如下: 在對文件進行轉換並保存到本地時,發現文件不完整或內容錯誤。 2.原因分析 從代碼中可以看出,在讀物流時調用的是available方法,點擊進入其源碼發現其返回的是當前流可用長度(估計值 ...

Mon Dec 20 00:15:00 CST 2021 0 812
InputStream——String,InputStream相互轉換

一. InputStream轉換為String 轉換的過程是: 使用FileInputStream讀取文件流; 使用InputStreamReader讀取FileInputStream流; 使用BufferedReader讀取InputStreamReader; 每次讀取一行 ...

Thu Sep 07 02:26:00 CST 2017 0 3145
InputStream的read()讀取機制

在使用InputStream讀取文件時,發現在使用while循環讀取文件時,它會自動的按順序讀取文件的內容,這是為什么呢?首先我們看看官方的API文檔解釋: 大概意思就是,每次調用 ...

Thu Aug 15 17:14:00 CST 2019 0 3334
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM