URL编程——获取指向的资源
通过openStream()方法回去一个URL所指向的资源。通过建立连接并返回InputStream。
package com.ycy1;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.util.ArrayList;
public class Test03 {
public static void main(String[] args) throws Exception {
//创建一个ArrayList集合来存URL地址
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("https://p3-tt.byteimg.com/origin/pgc-image/d46b4b18631f49429ee13ce7629c639f?from=pc");
arrayList.add("https://p1-tt.byteimg.com/origin/pgc-image/e82084e2dfc242bba943b13f729e28b8?from=pc");
arrayList.add("https://p1-tt.byteimg.com/origin/pgc-image/346b3b06865a4117a2c2a1a2c3436f1a?from=pc");
arrayList.add("https://p3-tt.byteimg.com/origin/pgc-image/63bd90d738684d4585f6543d0db0785e?from=pc");
arrayList.add("https://p6-tt.byteimg.com/origin/pgc-image/519674cfee6747faaf5be0176013e412?from=pc");
URL url = null;
InputStream inputStream = null;
OutputStream outputStream = null;
for (int i = 0; i < arrayList.size(); i++) {
//构造URL对象
url = new URL(arrayList.get(i));
inputStream = url.openStream();
File file = new File("E:" + File.separator + "test" + File.separator + i + ".jpg");
//获取文件的父目录
File parentFile = file.getParentFile();
//判断是否存在
if (!parentFile.exists()) {
//没有存在,创建文件夹
parentFile.mkdirs();
}
outputStream = new FileOutputStream(file);
byte[] bs = new byte[1024 * 1];
int len = 0;
while ((len = inputStream.read(bs)) != -1) {
outputStream.write(bs, 0, len);
}
inputStream.close();
outputStream.flush();
outputStream.close();
}
}
}