用流的方式在實作對網絡圖檔的下載下傳
分析:
參數:
圖檔的網絡位址:webURL
儲存到本地位址:localPath
監聽器:判斷是否下載下傳成功(這是一個觀察者模式)
具體代碼如下:
import java.io.*;
import java.net.URL;
import java.net.URLConnection;
public class DownLoadPicture {
public static void main(String[] args) {
//網絡圖檔連結位址
String webURL = "https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=1468179265,2584742085&fm=26&gp=0.jpg";
//本地儲存位址
String localPath = "D:\\test\\picture.jpg";
downLoadJpg(webURL, localPath);
}
public static void downLoadJpg(String webURL, String localPath) {
try {
//網絡URL
URL url = new URL(webURL);
//打開網絡連接配接
URLConnection connection = url.openConnection();
//輸入流
InputStream inputStream = connection.getInputStream();
//輸出檔案流
OutputStream outputStream = new FileOutputStream(new File(localPath));
//緩沖區對象
byte[] b = new byte[1024];
//讀取計數器
int len;
while ((len = inputStream.read(b)) != -1) {
outputStream.write(b, 0, len);
}
//關閉輸入流操作
try {
inputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
//關閉輸出流操作
try {
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
//監聽下載下傳成功
} catch (Exception e) {
//監聽下載下傳失敗
e.printStackTrace();
}
}
}