android – 加快下载时间

我在服务器中有40 MB文件,我正在使用下载文件

HttpURLConnection c = (HttpURLConnection) u.openConnection();
 c.setRequestMethod("GET");
 c.setDoOutput(true);
 c.connect();
 FileOutputStream f = new FileOutputStream(new File("trips.xml"));


 InputStream in = c.getInputStream();

 byte[] buffer = new byte[1024];
 int len1 = 0;
 while ( (len1 = in.read(buffer)) != -1 ) {
  f.write(buffer,0, len1);

这段代码看起来工作得很好但是花了太长时间.他们可以通过任何方式让这个过程更快.

/ minhaz

解决方法:

这个非常难看的黑客可能会给你一个更快的下载时间,或者可能没有,你必须在你的条件下测试它:

启动几个并行连接(在单独的线程中?),每个应该下载不同的数据块(使用HTTP 1.1 Range header).根据许多事情,比如满月,或太阳出来或玫瑰盛开,你可能会得到更好的结果,因为它会比单一连接更好地使你的链接饱和(牺牲其他人共享你的链接,有点像BitTorrent的功能)

上一篇:Java文件处理之IO流


下一篇:Java异常学习总结二