- 浏览: 190384 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (83)
- J2EE/Core Java (24)
- J2EE/Portal (2)
- J2EE/UI (4)
- J2EE/ATG (1)
- J2EE/Report (1)
- J2EE/Web Service/Rest API (2)
- Design Pattern (2)
- Arithmetic (4)
- Linux (12)
- Ruby&Rails (17)
- Database (5)
- J2EE/Payment (1)
- J2EE/JVM (1)
- Encryption/Decryption (3)
- J2EE/Multi Threading (4)
- SQL (1)
- https://community.teamviewer.com/t5/Knowledge-Base/Where-can-I-download-older-TeamViewer-versions-nbsp/ta-p/7729 (0)
最新评论
public class HttpDownloadUtility { private static final Logger logger = LoggerFactory.getLogger(HttpDownloadUtility.class); private static final int BUFFER_SIZE = 4096; private static final int END_OF_FILE = -1; public static boolean downloadFile(String fileURL, File saveDir) { return downloadFile(fileURL, saveDir, null); } public static boolean downloadFile(String fileURL, File saveDir, String fileName) { HttpURLConnection httpConn = null; try { URL url = new URL(fileURL); httpConn = (HttpURLConnection) url.openConnection(); int responseCode = httpConn.getResponseCode(); // always check HTTP response code first if (responseCode == HttpURLConnection.HTTP_OK) { String disposition = httpConn.getHeaderField("Content-Disposition"); String contentType = httpConn.getContentType(); int contentLength = httpConn.getContentLength(); if (StringUtils.isEmpty(fileName)) fileName = parseFileName(fileURL, disposition); logger.info("Content-Type = " + contentType); logger.info("Content-Disposition = " + disposition); logger.info("Content-Length = " + contentLength); logger.info("fileName = " + fileName); if (!saveDir.exists()) { logger.info("Creating File Destination Folder " + saveDir.getAbsolutePath()); saveDir.mkdirs(); } File savedFile = saveFile(saveDir, httpConn, fileName); logger.info("File downloaded to " + savedFile.getAbsolutePath()); return true; } else { logger.warn("No file to download. Server replied HTTP code: " + responseCode); return false; } } catch (Exception e) { logger.error("downloading failed from URL " + fileURL, e); return false; } finally { if (null != httpConn) httpConn.disconnect(); } } private static String parseFileName(String fileURL, String disposition) { String fileName = ""; if (disposition != null) { // extracts file name from header field int index = disposition.indexOf("filename="); if (index > 0) { fileName = disposition.substring(index + 10, disposition.length() - 1); } } else { // extracts file name from URL fileName = fileURL.substring(fileURL.lastIndexOf("/") + 1, fileURL.length()); } return fileName; } private static File saveFile(File saveDir, HttpURLConnection httpConn, String fileName) throws IOException, FileNotFoundException { // opens input stream from the HTTP connection InputStream inputStream = httpConn.getInputStream(); File saveFile = new File(saveDir, fileName); // opens an output stream to save into file FileOutputStream outputStream = new FileOutputStream(saveFile); int bytesRead = END_OF_FILE; byte[] buffer = new byte[BUFFER_SIZE]; while ((bytesRead = inputStream.read(buffer)) != END_OF_FILE) { outputStream.write(buffer, 0, bytesRead); } outputStream.close(); inputStream.close(); return saveFile; } }
发表评论
-
Start tomcat with port 80 without Linux root user-Use iptables mapping
2016-05-25 17:39 869引用In linux system. only root us ... -
Format XML in JAVA
2016-01-11 12:23 627public static String format ... -
Ehcache RMI Replicated Cluster(RMI集群)
2013-04-25 23:39 1095引用本文是ehcache RMI集群的例子,导入附件中的jav ... -
Integrete unitils for database(dao) testing
2013-02-01 18:39 1722引用Database testing Unit tests f ... -
JAXB入门
2012-10-16 11:59 818引用jaxb是一个读写xml的工具,还可以提供验证,不需要额外 ... -
Freemarker使用入门
2012-10-16 11:54 1052引用freemarker是一种模板标记工具,可以做页面静态化, ... -
perforce java api使用
2012-10-16 11:43 1285引用perforce是种版本管理软件,提供啦完整的java a ... -
XPath 入门
2012-10-16 11:29 908引用xpath可以快速定位获取XML文件中指定属性和值,jdk ... -
Java File Diff-diffutils
2012-09-27 17:35 75341. Maven Dependency <depende ... -
XSD 入门使用
2012-09-18 23:20 811<?xml version="1.0" ... -
nexus-2.1.1安装及使用入门
2012-08-13 22:52 14861. 安装 地址http://www.sonatype.org ... -
File Demo
2012-06-25 22:55 1354package org.springside.examples ... -
Java 访问sharepoint webservice(NTLM & SSL)
2012-06-12 09:47 3804引用遇到需要使用java访问微软的sharepoint的web ... -
Selenium Web Driver入门
2012-05-27 23:17 58811 What is Selenium? 引用Selenium ... -
HttpClient4.1.2 & HtmlUnit2.9 处理文件下载
2012-01-09 18:18 1060TestCode import java.io.Fi ... -
HttpClient4.1.2 & HtmlUnit2.9 NTLM 验证 和 Httpclient4.1.2 https/SSL
2012-01-09 18:13 16281. HttpClient4.1.2 & HtmlUn ... -
HttpClient4登陆ITeye
2012-01-08 23:33 1928import java.io.IOException; im ... -
Spring2集成测试
2011-08-25 22:21 794Spring2测试类继承层次 集成测试例子 public ... -
Learning EasyMock3.0 By Official Example
2011-08-24 16:48 1413Maven Installation+ add followi ... -
Maven+jetty+jrebel+m2eclipse+eclipse搭建struts2开发环境
2011-08-11 11:18 4172引用Maven:项目构建工具,通过pom.xml可以自动维护j ...
相关推荐
### HttpUrlConnection下载文件:Java实现详解 在Java编程中,`HttpUrlConnection`是用于发送HTTP请求和接收响应的标准工具之一。它提供了一个简单而强大的API来与Web服务器进行交互,包括GET、POST等HTTP方法。...
在Android平台上,利用Http协议进行文件下载是一项常见的任务,它涉及到网络编程、多线程、文件操作等多个技术领域。本文将深入探讨如何在Android中实现这个功能,主要围绕标题“Android利用Http下载文件”和提供的...
在给定的代码片段中,展示了如何使用`HttpURLConnection`进行文件下载。 首先,我们看到代码引入了`java.io`、`java.net`和`java.util`这三个包。`java.io`包含了输入/输出流,用于处理数据的读写;`java.net`包含...
JAVA通过HttpURLConnection上传和下载文件的方法 JAVA通过HttpURLConnection上传和下载文件的方法是非常有实用价值的,需要的朋友可以参考下。HttpURLConnection是一个Java类,用于从网络中读取数据或向网络中写入...
在Java编程环境中,当需要与Web服务器交互,例如上传文件时,`HttpURLConnection`是一个常见的选择,因为它提供了灵活且高效的方式。本篇文章将详细讲解如何使用`HttpURLConnection`实现文件上传,同时涉及到服务器...
在Android开发中,有时我们需要将本地的文件...通过理解以上步骤和注意事项,开发者可以有效地利用HttpURLConnection在Android应用中实现代理文件上传功能。同时,了解服务器端如何接收和处理这些文件也是至关重要的。
实例Demo程序来示范使用HttpURLConnection实现多线程下载。 使用多线程下载文件可以更快完成文件的下载,因为客户端启动多条线程进行下载就意味着服务器也需要为该客户端提供响应的服务。假设服务器同时最多服务100...
在本文中,我们将深入探讨如何使用HttpURLConnection实现文件上传,同时也会涉及普通参数的传递。 首先,我们需要理解HTTP请求的基本结构。HTTP请求通常由以下几个部分组成:请求行、请求头、空行和请求体。在文件...
在本例中,我们将探讨如何使用`HttpURLConnection`来下载图片,这是一个基础但实用的网络编程任务。下面我们将详细介绍这个过程,并涉及到的相关知识点。 1. **HttpURLConnection简介**: `HttpURLConnection`是`...
Android基于HttpUrlConnection类的文件下载实例代码 Android操作系统中,文件下载是一种常见的功能,为了实现文件下载,Android提供了多种方式,包括使用HttpUrlConnection类和OkHttp库等。HttpUrlConnection类是...
参考文件`HttpsGetData.java`可能是实现这一功能的一个示例代码。它可能包含了创建`HttpsURLConnection`对象、设置请求头、发送数据、接收响应和处理结果的完整流程。通过阅读和分析这个代码,你可以更深入地理解...
本知识点将深入探讨如何使用`HttpURLConnection`与Servlet协同工作,处理多文件参数以及实现断点上传功能。 首先,`HttpURLConnection`是Java API中的一个核心类,它负责提供HTTP协议的连接功能。相比Apache ...
1. **建立连接**:创建`URL`对象,表示本地文件或目录所在的URL,然后通过`openConnection()`方法获取`HttpURLConnection`实例。 2. **设置请求方法**:由于默认的请求方法是GET,我们需要调用`setRequestMethod(...
在这个场景中,我们将讨论如何利用HttpUrlConnection来下载图片并将其显示在ImageView上,以及如何下载百度网页源码并展示在WebView中。 1. **HttpUrlConnection基本使用** - 创建URL对象:首先,你需要创建一个...
本文将深入探讨“Netroid框架”和“HttpURLConnection类”的使用,并通过一个文件下载的示例来阐述如何利用它们进行文件传输,同时关注性能指标如下载速度。 **Netroid框架** Netroid是一个轻量级的Android网络...
Android提供了多种方式来实现文件下载,包括使用HttpURLConnection、AsyncTask、Intent服务等。其中,HttpURLConnection是最基础的方式,适用于简单的文件下载。它允许开发者通过HTTP协议直接与服务器通信,获取文件...
HttpURLConnection实现三方接口HTTP调用调用,带有FILE文件参数
在Android开发中,网络编程是不可或缺的一部分,尤其是在处理大文件下载时,断点续传功能显得尤为重要。HttpURLConnection是Java标准库提供的一种网络连接接口,适用于Android系统,它提供了更高效、更灵活的网络...
2. 每个线程创建自己的HttpURLConnection,设置请求范围(Range)以下载指定部分的文件。 3. 同样,每个线程读取其负责的部分并写入本地文件的相应位置。 ```java // 线程类 class DownloadThread extends Thread {...