URLの使い方及びURL類で一枚の画像を取得する。

1543 ワード

URLは何ですか
java.net.URLは、プロトコル、ホスト、ポート番号から構成された統一リソースロケータを表し、インターネットの「リソース」を指すポインタである。リソースは、簡単なファイルまたはディレクトリであってもよく、より複雑なオブジェクトへの参照、例えばデータベースまたは検索エンジンへのクエリーであってもよい。
URLでよく使う方法:
1.  URLConnection openConnection():リソースポジショニングに代表されるリソースに接続されたURLConnectionオブジェクトを返す。
2.  InputStream openStream():統一リソースロケータに代表されるリソースとの接続を確立し、この接続からデータを読み込むためのInputStreamオブジェクトを返す。この方法は「openConnection().get InputStream()」の略語です。
画像を取得:
package server;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;

public class Test {
	public static void main(String[] args){
		InputStream inputStream = null;
		OutputStream outputStream = null;
		
		try {
            //              
			String httpURL = "http://n.sinaimg.cn/tech/596/w1040h356/20180416/YsGf-fytnfyp5713101.jpg";
			URL url = new URL(httpURL);
			inputStream = url.openStream();
            //       
			outputStream = new FileOutputStream("D:\\sina.png");
			
			int eachData=0;
			while((eachData=inputStream.read())!=-1){
				outputStream.write(eachData);
			}
            //                      
			outputStream.flush();
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			if(inputStream!=null){
				try {
					inputStream.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			
			if(outputStream!=null){
				try {
					outputStream.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}
}