`

java不依赖浏览器的(HttpUrlConnection)单线程不间断下载

 
阅读更多
package cn.demo;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.math.BigDecimal;
import java.net.HttpURLConnection;
import java.net.URL;
public class CommonDown {
public static void main(String[] args) throws Exception {
String path = "http://localhost:6666/day22_cos/up/video.avi";
URL url = new URL(path);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
con.setDoInput(true);
con.connect();
int code = con.getResponseCode();
System.err.println(code);
if (code == 200) {
//获取文件大小
long size = con.getContentLength();
System.err.println("总大小是:"+size);
//声明下载到的字节
long sum=0;
BigDecimal bd = new BigDecimal(0D);
double already = 0D;
InputStream in = con.getInputStream();
byte[] b = new byte[1024];
int len = -1;
OutputStream out = new FileOutputStream("d:/a/video.avi");
while ((len = in.read(b)) != -1) {
out.write(b, 0, len);
sum=sum+len;
double percent = ((double)sum)/((double)size);
percent*=100;
bd = new BigDecimal(percent);
bd = bd.divide(new BigDecimal(1),0,BigDecimal.ROUND_HALF_UP);
if(bd.doubleValue()!=already){
System.err.println(bd.intValue()+"%");
already=bd.doubleValue();
}
}
out.close();
}
}
}
分享到:
评论

相关推荐

    HttpURLConnection实现单线程下载,多线程下载,多线程续点下载

    本教程将详细讲解如何使用HttpURLConnection实现单线程、多线程下载以及多线程续点下载。 **一、单线程下载** 单线程下载是最基础的下载方式,它通过一个连接获取服务器资源并写入本地文件。以下是一个简单的单...

    HttpURLConnection文件下载\httpURLConnection文件下载

    在Java中,如果需要从网络上下载文件,`HttpURLConnection`是一个常见的选择,它提供了与HTTP服务器进行通信的能力,包括发送请求、接收响应以及读取返回的数据。在给定的代码片段中,展示了如何使用`...

    java后台调用HttpURLConnection类模拟浏览器请求实例(可用于接口调用)

    本篇文章将深入讲解如何使用`HttpURLConnection`类来模拟浏览器请求,并通过实例展示其在接口调用中的应用。 首先,`HttpURLConnection`是`java.net.URLConnection`的一个子类,用于处理HTTP协议。在使用`...

    Java 浏览器 Java浏览器

    总的来说,"Java浏览器"项目不仅展示了Java在创建复杂应用程序时的能力,还为Java开发者提供了一个实践多线程、网络编程、UI设计和安全策略的绝佳案例。通过深入研究和改进这样的项目,Java开发者可以提升自己的技能...

    JAVA通过HttpURLConnection 上传和下载文件的方法

    JAVA通过HttpURLConnection上传和下载文件的方法 JAVA通过HttpURLConnection上传和下载文件的方法是非常有实用价值的,需要的朋友可以参考下。HttpURLConnection是一个Java类,用于从网络中读取数据或向网络中写入...

    java实现多次HttpURLConnection共享session

    在Java中,HttpURLConnection并不直接支持session管理,所以我们需要手动处理Cookie。以下是一种实现方式: 1. 创建Cookie管理器: 首先,我们需要创建一个`CookieManager`实例,并设置到`java.net.CookieHandler`...

    java模拟微信浏览器访问.rar

    在Java编程中,模拟微信浏览器访问Web页面是一个常见的需求,特别是在自动化测试、数据抓取或者模拟用户行为的场景。这个“java模拟微信浏览器访问.rar”压缩包中的主要文件是“MonitorWeixinBrowser.java”,我们...

    java实现的浏览器

    这有助于我们了解Java在Web开发领域的应用,尽管Java在这一领域并不常见,通常JavaScript、C++或Rust等语言被用于浏览器的开发。 在压缩包中的"Brwser"可能是项目的源代码文件夹,里面包含了Java源代码文件、资源...

    java实现网页浏览器

    虽然Java自身不支持执行JavaScript,但可以借助Rhino或Nashorn JavaScript引擎(Java 8及之前)或者采用开源库GraalVM的JavaScript引擎来实现。这样,浏览器就能执行网页中的JavaScript代码并与Java环境交互。 此外...

    用java编写的简易浏览器

    【标题】"用Java编写的简易浏览器"是一个项目,它展示了如何使用Java编程语言来创建一个基础的网络浏览应用程序。这个简易浏览器旨在提供基本的网页浏览功能,可能包括输入URL、加载网页、前进和后退等操作。在Java...

    使用HttpURLConnection下载图片

    在这个例子中,我们只涉及了基本的下载功能,实际应用中可能需要更复杂的处理,如进度显示、多线程下载、断点续传等。`HttpURLConnection`虽然简洁,但在高级功能上可能需要结合其他库,如OkHttp或Apache HttpClient...

    java源码:浏览器BrowserTest.zip

    5. **多线程**:浏览器通常需要处理多个并发的网络请求,因此多线程编程是必不可少的。Java提供了Thread和Runnable接口来实现多线程,理解如何合理地使用线程池和同步机制来避免竞态条件和死锁是关键。 6. **安全性...

    Android移动开发-使用HttpURLConnection实现多线程的下载

    实例Demo程序来示范使用HttpURLConnection实现多线程下载。 使用多线程下载文件可以更快完成文件的下载,因为客户端启动多条线程进行下载就意味着服务器也需要为该客户端提供响应的服务。假设服务器同时最多服务100...

    java代码的浏览器源码整理

    Java代码的浏览器源码整理是一项深入理解Web浏览技术与Java编程结合的重要学习资源。这个压缩包文件包含了关于如何下载和使用这些源码的说明,以及一个可能包含解压密码的URL链接,暗示了源码可能受到保护以防止未经...

    java HttpURLConnection工具

    java HttpURLConnection示例 HttpURLConnection工具

    java开发的网路浏览器

    【标题】:“java开发的网路浏览器” 在IT领域,Java是一种广泛应用的编程语言,以其“一次编写,到处运行”的特性而闻名。本项目聚焦于使用Java开发的网络浏览器,这是一种利用Java技术实现的用于浏览互联网内容的...

    java编写的浏览器 包含源代码和打包程序 极具参考价值

    Java编写的浏览器是一种基于Java语言实现的Web浏览应用,它利用了Java的跨平台特性,可以在多种操作系统上运行。这个项目包含源代码和打包程序,为开发者提供了深入了解浏览器工作原理和学习Java编程的一个绝佳实例...

    基于java开发的网页浏览器

    10. **扩展性**: 一个完整的浏览器可能会有书签管理、下载管理、插件支持等功能。实现这些需要设计良好的架构和接口,以便于扩展和维护。 综上所述,基于Java开发的网页浏览器是一个涵盖多方面技术的项目,包括用户...

    用java编写的浏览器

    Java是一种广泛使用的编程语言,以其跨平台的特性而著名,被应用于各种软件开发,包括创建桌面应用程序、服务器端应用、移动应用以及,如标题所示,浏览器。本项目以Java为开发语言,旨在实现一个功能完备的网络浏览...

    Java自带的HttpURLConnection访问接口实现文件上传

    在Java编程语言中,HTTPURLConnection是Java标准库提供的一个接口,用于通过HTTP协议与服务器进行通信。这个接口在java.net包下,是处理HTTP请求的基础类,包括发送GET、POST等请求,以及文件上传功能。在本文中,...

Global site tag (gtag.js) - Google Analytics