注意橙色部分,要写客户端程序橙色部分大体不变,存储部分就要根据情况改动,不改肯定达不到效果。
import java.net.URL;
import java.net.HttpURLConnection;
import java.io.*;
import java.lang.*;
import java.util.*;
//文件名;
String filename = "xxxxxx.xxx";
//远程文件路径的位置;
String filepath = "http://www.xxxx.com/xxxx/" + filename;
//创建url;
URL url = new URL(filepath);
//创建url连接;
HttpURLConnection urlconn = (HttpURLConnection)url.openConnection();
//链接远程服务器;
urlconn.connect();
BufferedInputStream bis = null;
ServletOutputStream os =null;
//BufferedOutputStream bos = null;
try{
//获取远程服务器端文件输入流;
bis = new BufferedInputStream(urlconn.getInputStream() );
os = response.getOutputStream();
// bos = new BufferedOutputStream(response.getOutputStream());
//缓存;
byte b[]=new byte[2048];
//客户使用保存文件的对话框:
response.setHeader("Content-disposition","inline;filename="+filename);
//通知客户文件的MIME类型:
response.setContentType("application/octet-stream exe;charset=gb2312");
int size;
//读取文件内容到缓存;
while((size=bis.read(b,0,b.length))!=-1)
{ //把文件内容写到本地文件中;
//bos.write(b,0,size);
os.write(b,0,size);
}
}catch (Exception e) {
e.printStackTrace();
}finally{
if(fos != null)
{ //关闭文件输出流;
fos.close();
}
if(bis != null)
{ //关闭文件输入流;
bis.close();
urlconn.disconnect();
}
}