Re: [問題] 從靜態連結抓圖片
※ 引述《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
推
06/23 23:29, , 1F
06/23 23:29, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):