用Java的IO流从网上下载一个视频
原理:就是用URL对象与目标地址建立一个链接,用IO流的方式从这个链接上把视频的二进制数据读取下载然后再写入本地文件。
因为小弟比较菜的缘故,不会下载那些加了密的视频链接,这里我就找了一个没有假面的url来做测试:http://aqiniu.tangdou.com/C79...
代码思路
先建立一个链接对象,获取到网页的链接;
从链接对象获取到输入流,读取数据;
建立一个输出流,向本地文件写入数据。
代码实现
获取链接对象
public class download {
//定义一个HttpURLConnection在外面,因为要在finally中关闭
HttpURLConnection connection = null;
public static void main(String[] args) {
try {
//获取链接对象
URL url = new URL(videoUrl);
HttpURLConnection connection = url.openConnection();
connection.setRequestProperty("Range","bytes=0-");
connection.connect();
if(connection.getResponseCode() / 100 != 2){
System.out.println("链接资源失败...");
return;
}
} catch (MalformedURLException e) {
e.printStackTrace();
} finally {
HttpURLConnection.disconnect();
}
}
}
好了,现在来讲一下上面的代码的作用:
1.URL url = new URL(videoUrl);
就是获取URL的资源对象,传入的字符串就是对应的地址;
2.HttpURLConnection connection &