package com.amigo.online.provider.manager.util.video.download;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
public class VideoDownload {
public static boolean httpDownload(String httpUrl, String saveFile) {
// 1.下载网络文件
int byteRead;
URL url;
try {
url = new URL(httpUrl);
} catch (MalformedURLException e1) {
e1.printStackTrace();
return false;
}
try {
//2.获取链接
URLConnection conn = url.openConnection();
//3.输入流
InputStream inStream = conn.getInputStream();
//3.写入文件
FileOutputStream fs = new FileOutputStream(saveFile);
byte[] buffer = new byte[1024];
while ((byteRead = inStream.read(buffer)) != -1) {
fs.write(buffer, 0, byteRead);
}
inStream.close();
fs.close();
return true;
} catch (FileNotFoundException e) {
e.printStackTrace();
return false;
} catch (IOException e) {
e.printStackTrace();
return false;
}
}
public static void main(String[] args) {
System.out.println(httpDownload("http://yun.it7090.com/video/XHLaunchAd/video01.mp4","D:\\image\\22.mp4"));
}
}
package com.amigo.online.provider.manager.util.video.download;
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.URL;
import org.jboss.logging.Logger;
public class VideoDownloadUtil {
private static final Logger LOGGER = Logger.getLogger(VideoDownloadUtil.class);
/**
* 下载文件到本地
*
* @param urlString
* 被下载的文件地址
* @param filename
* 本地文件名
* @param timeout
* 超时时间毫秒
* @throws Exception
* 各种异常
*/
@SuppressWarnings("finally")
public static boolean download(String urlString, String filename,int timeout){
boolean ret = false;
File file = new File(filename);
try {
if(file.exists()){
ret = true;
}else{
// 构造URL
URL url = new URL(urlString);
// 打开连接
HttpURLConnection con = (HttpURLConnection )url.openConnection();
con.setConnectTimeout(timeout);
con.setReadTimeout(timeout);
con.connect();
int contentLength = con.getContentLength();
// 输入流
InputStream is = con.getInputStream();
// 1K的数据缓冲
byte[] bs = new byte[1024];
// 读取到的数据长度
int len;
// 输出的文件流
File file2=new File(file.getParent());
file2.mkdirs();
if(file.isDirectory()){
}else{
file.createNewFile();//创建文件
}
OutputStream os = new FileOutputStream(file);
// 开始读取
while ((len = is.read(bs)) != -1) {
os.write(bs, 0, len);
}
// 完毕,关闭所有链接
os.close();
is.close();
if(contentLength != file.length()){
file.delete();
ret = false;
}else{
ret = true;
}
}
} catch (IOException e) {
file.delete();
ret = false;
LOGGER.error("[VideoUtil:download]:\n" + " VIDEO URL:" + urlString + " \n NEW FILENAME:" + filename + " DOWNLOAD FAILED!! ");
}finally {
return ret;
}
}
public static void main(String[] args) {
System.out.println(download("http://yun.it7090.com/video/XHLaunchAd/video01.mp4","D:\\image\\969.mp4",1000000000));
}
}
以上就是极悦小编介绍的“Java视频下载的方法”的内容,希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为您服务。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习