我现在下载图片的代码如下,但发现效率很慢,有其他更有效率的方法吗?谢谢各位大大的帮忙了!~~~import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;public class test2
{
public static void main(String args[]) throws IOException
{
URL url = new URL(
"http://mhauto.kkkmh.com:8888/comicdata3/b/bdcyzhs/tbp/001vvvhbtc.jpg");
InputStream is = url.openStream();
OutputStream os = new FileOutputStream(
"C:\\Documents and Settings\\Administrator\\桌面\\download.jpg");
int i;
while ((i = is.read()) != -1)
{
os.write(i);
}
os.flush();
is.close();
os.close();
}
}

解决方案 »

  1.   

    用缓存流比较好,,,,
    一次读取1024K
    byte[] read = new byte[1024]while((i = is.read(read)) != -1)
      

  2.   

    URL url = null;
    try
    {
    url = new URL("");
    InputStream is = url.openStream();
    BufferedInputStream inputStream = new BufferedInputStream(is);
    BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(""));
    byte[] read = new byte[1024];
    int i = 0;
    while((i = inputStream.read(read)) != -1)
    {
    outputStream.write(read);
    }
    outputStream.flush();
    outputStream.close();
    inputStream.close();
    is.close();
    }
    catch (Exception e)
    {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }