看板 java 關於我們 聯絡資訊
※ 引述《qrtt1 (null)》之銘言: : 不要使用 while (br.available() > 0) 。available 並不是都準確的。 : 乖乖判斷 EOF 比較好。 : 另外,即使你用 BufferedInputStream 還是不要一個一個寫入。 : byte[] data = new byte[1024]; : int count = br.read(data); : while (count != -1) { : System.out.println("write " + count + " bytes"); : fos.write(data, 0, count); : count = br.read(data); : } 這不是 InputStream - available method 回傳的值準不準確的問題。 available method return value 的意義是此刻從此 InputStream consume 多少 bytes 數據不會 block 在 read method。 即使 available method 的實做是正確的,available <= 0 也不代表 EOF。 (某天某時你去某家餐廳點不到任何餐點,不代表這家餐廳倒店了) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.173.133.137
qrtt1:我得到了... 06/23 23:29