下载文件(一)
来源:互联网 发布:2015美容行业数据 编辑:程序博客网 时间:2024/05/09 09:54
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.RandomAccessFile;
import java.net.HttpURLConnection;
import java.net.URL;
public class TestFileSize {
public static void main(String[] args) {
String nativeFileUrl = "http://baidu/main.zip";
String fileName = "main.zip";
int fileSize = 0;
File saveFile;
try {
URL url = new URL(nativeFileUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(5*1000);
conn.setRequestMethod("GET");
conn.setRequestProperty("Accept", "image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-xbap, application/x-ms-application, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*");
conn.setRequestProperty("Accept-Language", "zh-CN");
conn.setRequestProperty("Referer", nativeFileUrl);
conn.setRequestProperty("Charset", "UTF-8");
conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)");
conn.setRequestProperty("Connection", "Keep-Alive");
conn.connect();
if(conn.getResponseCode() == 200){
fileSize = conn.getContentLength();//根据响应获取文件大小
if (fileSize <= 0) throw new RuntimeException("Unkown file size ");
saveFile = new File(fileName);//构建保存文件
InputStream inStream = conn.getInputStream();
byte[] buffer = new byte[1024];
int offset = 0;
RandomAccessFile threadfile = new RandomAccessFile(saveFile, "rwd");
while((offset = inStream.read(buffer, 0, 1024)) != -1){
threadfile.write(buffer, 0, offset);
}
threadfile.close();
inStream.close();
System.out.println(fileName + " down load over");
}else{
throw new RuntimeException("don't connection this url");
}
} catch (IOException e) {
throw new RuntimeException("don't connection this url");
}
}
}
- 文件下载(一)
- 下载文件(一)
- android 文件下载(一)
- SpringMVC文件下载(一)
- 大文件下载(一)
- struts2文件下载方法一
- ftp远程下载文件一、远程文件下载
- C#文件下载、文件分块下载实例(一)
- JSP学习日记(一) 文件下载
- 文件的上传和下载(一)
- 文件的上传和下载(一)
- IOS文件的上传与下载(一)
- IOS文件下载总结(一)
- 文件上传与下载(一)struts2
- Android文件下载案例(一)
- iOS下载大文件原理解析一
- 文件上传和下载(一)--【jsp+servlet】
- Java_文件上传与下载(一)
- 常见互联网34个术语解释
- vs快捷键
- iOS开发UI篇—xib的简单使用
- Intent中的四个重要属性——Action、Data、Category、Extras
- 如何进行ArcGIS的矢量化操作
- 下载文件(一)
- 黑马程序员---java基础知识(九):GUI
- (水题 NUPT 1593)8皇后问题(判断是否有元素处于同一行或同一列或同一斜线上)
- 财宝技能
- arcgis经纬度坐标的shape面层计算面积的详细步骤
- NULL和nullptr和nil和Nil还有NSNull
- spring3mvc+mybatis 环境搭建
- IOS7.0 Xcode5 AutoLayout 备忘录
- 64位win7环境eclipse集成svn后出现Failed to load JavaHL Library的解决办法