手机
当前位置:查字典教程网 >编程开发 >Java >java使用http实现文件下载学习示例
java使用http实现文件下载学习示例
摘要:复制代码代码如下:packagecom.hongyuan.test;importjava.io.File;importjava.io.Fil...

复制代码 代码如下:

package com.hongyuan.test;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.net.HttpURLConnection;

import java.net.MalformedURLException;

import java.net.URL;

import java.net.URLDecoder;

public class FileDownload {

public static final String LOCAL_PATH="d:/";

public static void main(String[] args) {

//待下载文件地址

String fileUrl="http://211.162.55.16/cdn.baidupcs.com/file/6a73dab7c03023a9835cc737f447674d?xcode=af6ffdc43a44169bac968d32c4bd420084a9a97c308112c9&fid=3255571826-250528-130564002&time=1397293108&sign=FDTAXER-DCb740ccc5511e5e8fedcff06b081203-mQkOeRDtXpyQWwYJkI%2BxKJpxn5k%3D&to=cb&fm=N,B,U,nc&newver=1&expires=1397297563&rt=sh&r=854979042&logid=1751715936&sh=1&vuk=3255571826&fn=Web%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%20%E7%AC%AC5%E7%89%88.pdf&wshc_tag=0&wsiphost=ipdbm";

InputStream in=null;

OutputStream out=null;

HttpURLConnection conn=null;

String fileName=null;

try {

//初始化连接

URL url=new URL(fileUrl);

conn = (HttpURLConnection) url.openConnection();

conn.setDoInput(true);

conn.setDoOutput(true);

//获取文件名

String disposition=conn.getHeaderField("Content-Disposition");

if(disposition!=null&&!"".equals(disposition)){

//从头中获取文件名

fileName=disposition.split(";")[1].split("=")[1].replaceAll(""","");

}else{

//从地址中获取文件名

fileName=fileUrl.substring(fileUrl.lastIndexOf("/")+1);

}

if(fileName!=null&&!"".equals(fileName)){

//文件名解码

fileName=URLDecoder.decode(fileName, "utf-8");

}else{

//如果无法获取文件名,则随机生成一个

fileName="file_"+(int)(Math.random()*10);

}

//读取数据

if(conn.getResponseCode()==HttpURLConnection.HTTP_OK){

byte[] buffer=new byte[2048];

in = conn.getInputStream();

out=new FileOutputStream(new File(LOCAL_PATH,fileName));

int count=0;

int finished=0;

int size=conn.getContentLength();

while((count=in.read(buffer))!=-1){

if(count!=0){

out.write(buffer,0,count);

finished+=count;

System.out.printf("########################################---->%1$.2f%%n",(double)finished/size*100);

}else{

break;

}

}

}

} catch (MalformedURLException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}finally{

try {

out.close();

in.close();

conn.disconnect();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

【java使用http实现文件下载学习示例】相关文章:

简单的java读取文件示例分享

java实现sunday算法示例分享

java枚举的使用示例

java单向链表的实现实例

java读取csv文件内容示例代码

java web项目实现文件下载实例代码

java数字图像处理基础使用imageio写图像文件示例

java读取大文件简单实例

java多线程入门知识及示例程序

java获取properties属性文件示例

精品推荐
分类导航