一个关于java.net.URL的问题.

本人正在写一个程序,需要从某个固定的URL抓取HTML文件.
我用下面语句来抓.

URLConnection conn = new URL("http://....").openConnection();
conn.connect();
int length = conn.getContentLength();
InputStream in = conn.getInputStream();
byte[] content = new byte[length];
in.read(content);
in.close();

现在问题来了,由于网络传输速度的问题,
我的content有时读不满length个字节,
就自以为没有可从in里读的了,从而程序运行下去了.
这样我得到的content是不满的.

我当然可以写一个循环,来强迫 content 读满,
但是那样似乎不是很自然.

有没有更好的办法,让in.read()的时候自动做适当的等待?

谢谢,各位高手指教.

隔几秒重复再读。