相关疑难解决方法(0)

Java URLConnection:如何找出Web文件的大小?

我正在为学校做一个项目,我正在实现一个可以用来从网上下载文件的工具(有一个限制选项).问题是,我将拥有一个GUI,我将使用一个JProgressBar小部件,我想展示当前的下载进度.为此,我需要知道文件的大小.如何在下载文件之前获取文件的大小.

java http http-headers

30
推荐指数
3
解决办法
5万
查看次数

Android - 我想向用户显示文件上传进度

我通过Android SDK中的默认HttpClient将照片上传到服务器.我想在用户界面中显示进度,有没有办法找出上传了多少?是否可以使用HttpUrlConnection?

android

25
推荐指数
1
解决办法
2万
查看次数

如何以块的形式获取JSON数据以报告进度?

我需要通过REST API下载联系人数据,我以JSON格式获取.问题是,它可能是很多联系人,所以我想观察进度(已经下载了多少联系人)并向用户报告(带有进度条,下面的代码在一个线程中运行).

但是,似乎行client.execute(getRequest); 建立连接并一次性下载整个内容,即我的InputStream阅读器(以块为单位获取内容)似乎没用.现在我想知道如何让它在大块中工作,所以我可以报告进展情况?

/** prepare HTML get request */
HttpGet getRequest = new HttpGet(url[0]);
getRequest.addHeader("Authorization", "OAuth " + myTokens.get_access_token());

/** execute HTML request */
DefaultHttpClient client = new DefaultHttpClient();
JSONArray records = null;
HttpResponse response = client.execute(getRequest);

/** init response handlers for input stream */
InputStream input = new BufferedInputStream(response.getEntity().getContent());

byte data[] = new byte[MAX_BUFFER_SIZE];

long totalContactsCount = -1;
int readContactsCount = 0;
int currentByteReadCount = 0;

/** read response from inpus stream */
while ((currentByteReadCount = input.read(data)) != …
Run Code Online (Sandbox Code Playgroud)

java json inputstream httpclient

7
推荐指数
1
解决办法
3673
查看次数

标签 统计

java ×2

android ×1

http ×1

http-headers ×1

httpclient ×1

inputstream ×1

json ×1