本文转自:http://kinkding.blog.51cto.com/704208/141313,未作修改。
1、HTTP方式:
/**
* 通过HTTP方式获取文件
*
* @param strUrl
* @param fileName
* @return
* @throws IOException
*/
private boolean getRemoteFile(String strUrl, String fileName) throws IOException {
URL url = new URL(strUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
DataInputStream input = new DataInputStream(conn.getInputStream());
DataOutputStream output = new DataOutputStream( new FileOutputStream(fileName));
byte[] buffer = new byte[1024 * 8];
int count = 0;
while ((count = input.read(buffer)) > 0) {
output.write(buffer, 0, count);
}
output.close();
input.close();
return true;
}
* 通过HTTP方式获取文件
*
* @param strUrl
* @param fileName
* @return
* @throws IOException
*/
private boolean getRemoteFile(String strUrl, String fileName) throws IOException {
URL url = new URL(strUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
DataInputStream input = new DataInputStream(conn.getInputStream());
DataOutputStream output = new DataOutputStream( new FileOutputStream(fileName));
byte[] buffer = new byte[1024 * 8];
int count = 0;
while ((count = input.read(buffer)) > 0) {
output.write(buffer, 0, count);
}
output.close();
input.close();
return true;
}
调用时使用下面的数据测试通过,本地得到了test.gif:
String fileUrl = "http://www.google.cn/intl/zh-CN/images/logo_cn.gif";
String fileName = "test.gif";
String fileName = "test.gif";
支持FTP方式的获取,只需要如下改动:
// HttpURLConnection conn = (HttpURLConnection) url.openConnection();
URLConnection conn = url.openConnection();
URLConnection conn = url.openConnection();
下面的测试代码也成功执行,本地环境获得了cu_html.zip文件:
public
static
void main(String[] args)
throws IOException {
String fileUrl = "ftp://ftp.cuhk.hk/pub/cu_html.zip";
String fileName = "cu_html.zip";
Test1 test = new Test1();
System.out.println(test.getRemoteFile(fileUrl, fileName));
}
String fileUrl = "ftp://ftp.cuhk.hk/pub/cu_html.zip";
String fileName = "cu_html.zip";
Test1 test = new Test1();
System.out.println(test.getRemoteFile(fileUrl, fileName));
}