作者sbrhsieh (sbr)
看板java
标题Re: [问题] 从静态连结抓图片
时间Tue Jun 23 23:14:05 2009
※ 引述《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
1F:推 qrtt1:我得到了... 06/23 23:29