网络编程,下载视频图片

时间:2022-04-07 15:54:06
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.DataInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.nio.channels.ReadableByteChannel;

import javax.net.ssl.HttpsURLConnection;


public class NetWork {
static NetWork net ;
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
net = new NetWork();
//需要下载的URL
String photoUrl = "http://h.hiphotos.baidu.com/image/pic/item/b3b7d0a20cf431adc4b317334936acaf2edd9854.jpg";
// 截取最后/后的字符串
String fileName = photoUrl.substring(photoUrl.lastIndexOf("/"));
//图片保存路径
String filePath = "D:";
/* 调用函数,并且进行传参 */
boolean flag = net.saveUrlAs(photoUrl, filePath + fileName);
System.out.println("Run ok!\n Get URL file " + flag);
System.out.println(filePath);
System.out.println(fileName);
}
public static boolean saveUrlAs(String fileUrl, String savePath) throws IOException/* fileUrl网络资源地址 */
{
//首先我们要获得url的链接,我们要从哪里下载图片,这个图片的地址在哪里!
URL url = new URL(fileUrl);
/* 此为联系获得网络资源的固定格式用法,以便后面的het变量获得url截取网络资源的输入流 */
HttpURLConnection het =(HttpURLConnection) url.openConnection();
//getInputStream()方法可以获得网络连接输入,同时返回一个InputStream实例
DataInputStream in = new DataInputStream(het.getInputStream());
BufferedOutputStream bis = new BufferedOutputStream(new FileOutputStream(savePath));
byte[] buff = new byte[4096];
int count;
while ((count=in.read(buff))>0) {
bis.write(buff, 0, count);
return true;
}
bis.close();
in.close();
het.disconnect();
return false;
}

}