URL网络资源下载

时间:2022-11-26 11:06:34

通过URL下载网络资源:

使用InputStream/OutputStream及BufferedInputStream/BufferedOutputStream下载文件

【代码示例】

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

/**
*
* @author guoxk
*
* @version 创建时间 2015年10月28日 下午4:13:15
*
* 类描述:文件下载
*
*/
public class URLFileDownloadTest {
public static void main(String[] args) throws IOException {
// 1. 定位远程资源
URL url = new URL(
"http://psoft.33lc.com:801/small/sql%E5%AE%8C%E5%85%A8%E6%89%8B%E5%86%8C.rar");

// 2. 和远程资源之间打开连接
URLConnection conn = url.openConnection();
conn.setConnectTimeout(30000); //setConnectTimeout:设置连接主机超时(单位:毫秒)
conn.setReadTimeout(30000); //setReadTimeout:设置从主机读取数据超时(单位:毫秒)
// 3. 获取远程文件的输入流
InputStream is = conn.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);

// 4. 获取本地文件的输出流
FileOutputStream fos = new FileOutputStream("g:" + File.separator
+ "sql.rar");
BufferedOutputStream bos = new BufferedOutputStream(fos);

// 5. 将文件写入到本地
int index = -1;
byte[] buffer = new byte[512];
while ((index = bis.read(buffer)) != -1) {
bos.write(buffer, 0, index);
}
System.out.println("下载完成");
bos.flush();
// 6. 关闭流,释放资源
bos.close();
fos.close();
bis.close();
is.close();
}
}

URL网络资源下载