作者chen1025 (小陈)
看板java
标题[问题] 有人遇过EOFException(写网页抓图程式)
时间Tue Nov 27 21:47:50 2012
下面这段函式用来抓取网页的图片,
刚开始测试一两张抓取没问题,
但是之後会出现EOFException的错误。
上网查询听说和Buffer设定有关,
不知道哪位高手可以解决?
public static void downloadPic(String picUrl) {
try {
URL url = new URL(picUrl);
URLConnection uc = url.openConnection();
DataInputStream dis = new DataInputStream(uc.getInputStream());
FileOutputStream fo = new FileOutputStream("D:\\test.jpg");
while (dis.available() != -1) // throws EOFException at ending stream.
{
fo.write(dis.readByte());
fo.flush();
}
dis.close();
fo.close();
System.out.println("complete.");
} catch (Exception e) {
System.out.print(e);// handle here
}
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.119.157.8
1F:推 LaPass:串流读到EOF(档案结尾)时就会这样,有时候是串流忘记关等等 11/27 22:11
2F:推 superlubu:available() 永远不会return -1 你读 stream 的方法错了 11/28 05:38
3F:推 popcorny:而且一次读一个byte也太没效率了吧,可以一次多读一些 11/28 09:20