HttpURLConnection setReadTimeout

问题描述

connection.setConnectTimeout(8000);connection.setReadTimeout(8000);使用HttpURLConnection下载文件,并设置上面两属性结果报java.net.SocketTimeoutException:Readtimedout异常,我是重复下载该文件的,我在读取文件前输出System.out.println("Start:"+newDate(System.currentTimeMillis()));InputStreamin=connection.getInputStream();然后在报异常处输出:catch(Exceptione){System.out.println("End:"+newDate(System.currentTimeMillis()));if(connection!=null)connection.disconnect();e.printStackTrace();returnfalse;},结果发现读取文件的时候不到8s就已经报readtimedout异常了。以下是测试输出时间(省略异常信息):1.Start:ThuDec1211:22:07CST2013End:ThuDec1211:22:08CST20132.Start:ThuDec1211:22:08CST2013End:ThuDec1211:22:17CST20133.Start:ThuDec1211:22:17CST2013End:ThuDec1211:22:25CST20134.Start:ThuDec1211:22:25CST2013End:ThuDec1211:22:25CST20135.Start:ThuDec1211:22:25CST2013End:ThuDec1211:22:26CST20136.Start:ThuDec1211:22:26CST2013End:ThuDec1211:22:26CST20137.Start:ThuDec1211:22:35CST2013End:ThuDec1211:22:36CST2013第1、4、5、6、7都是不到8s就报异常了,这是为什么呢?下载的url是可以访问的且也能下载下来,只是有时候经常会网络延时(家里网速不稳定)。

解决方案

解决方案二:
1.服务器拒绝?2.重复下载,需要重新new一个HttpURLConnection。
解决方案三:
http://blog.csdn.net/jdgdf566/article/details/17039693
解决方案四:
引用1楼jdgdf566的回复:

1.服务器拒绝?2.重复下载,需要重新new一个HttpURLConnection。

服务器拒绝是不可能的,且拒绝也不是报这个异常。URLurl=newURL(address);每次下载是肯定重新new过的。
解决方案五:
Istherenobodyherewhocananswermyquestion?自己up下

时间: 2024-09-04 12:24:08

HttpURLConnection setReadTimeout的相关文章

httpurlconnection的get问题 没有正常打开页面 内部按钮点击textview没反应

问题描述 httpurlconnection的get问题 没有正常打开页面 内部按钮点击textview没反应 package com.example.http; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import android.app.

ugg

[html] view plain copy print? import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpU

利用LruCache和DiskLruCache加载网络图片实现图片瀑布流效果(升级版)

MainActivity如下: package cc.patience7; import android.os.Bundle; import android.app.Activity; /** * Demo描述: * 采用瀑布流的形式加载大量网络图片 * 详细分析参见WaterfallScrollView * * 更新说明: * 在原本的的基础上添加了本地缓存DiskLruCache * * 所以在该示例中对于图片的缓存采用了:LruCache + DiskLruCache 的技术 * * 参考

Android本地缓存DiskLruCache完整详细学习示例

MainActivity如下: package cc.vv; import java.io.File; import java.io.InputStream; import java.io.OutputStream; import libcore.io.DiskLruCache; import libcore.io.Utils; import android.os.Bundle; import android.os.Handler; import android.os.Message; impo

利用LruCache加载网络图片实现图片瀑布流效果(基础版)

PS: 2015年1月20日21:37:27 关于LoadImageAsyncTask和checkAllImageViewVisibility可能有点小bug 修改后的代码请参见升级版本的代码 http://blog.csdn.net/lfdfhl/article/details/42925193 MainActivity如下: package cc.patience3; import android.os.Bundle; import android.app.Activity; /** * D

利用LruCache加载网络图片实现图片瀑布流效果(改进版)

PS: 2015年1月20日21:37:27 关于LoadImageAsyncTask和checkAllImageViewVisibility可能有点小bug 修改后的代码请参见升级版本的代码 http://blog.csdn.net/lfdfhl/article/details/42925193 MainActivity如下: package cc.patience4; import cc.patience4.R; import android.os.Bundle; import androi

直接应用项目中的Android图片缓存技术_Android

前不久搞的Android图片缓存,刚开始引入开源的框架,用着还行,但是在开发中遇到问题,就比如universal-image-loader-1.9.5.jar这个框架吧,在加载图片的时候自定义imageview无法加载,可能是存在以下问题吧,况且导入框架导致开发的项目包越来越大,基于上面的这几种情况,于是我就想自己写一个图片三级缓存的工具. 简要分析:刚开始想,图片的加载显示无非是先检查内存里面有没有,没就去文件里面找,若是文件里面没有的话就去开启网络下载,这样也符合开发中的大部分需求,而且效率

Android多线程断点下载完整示例详解

MainActivity如下: package cc.activity; import java.io.File; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.os.Environment; import android.os.Handler; import android.os.Message; import android.view.

利用LruCache为GridView异步加载大量网络图片完整示例

MainActivity如下: package cc.testlrucache; import android.os.Bundle; import android.widget.GridView; import android.app.Activity; /** * Demo描述: * 在GridView中采用LruCache异步加载大量图片,避免OOM * * 学习资料: * http://blog.csdn.net/guolin_blog/article/details/9526203 *