URLクラスを使用してWebファイルをダウンロードし、Webファイルのサイズを統計します.
1694 ワード
まずURLConnectionクラスを紹介します.
URLクラスのOpenConnection()メソッドでは、URL参照のリソースの読み取りと書き込みに使用できるURLConnectionオブジェクトを生成できます.ネットワークプログラミングの仕事の中で、JAVAのURLConnectionは1つのよく使うクラスで、それは1つのとても便利なインタフェースを提供して、接続するホストのURLアドレスを提供するのでさえすれば、URLクラスのopenConnection()方法を使って1つのHttpURLConnectionのオブジェクトを得ることができて、その中のHttpURLConnectionクラスはURLConnectionクラスのサブクラスで、それからこの基礎の上でHTTPの内容を分析して、関連するタスクを完了します.この方式では,利用者は下位層の実装の詳細を考慮する必要がなく,煩わしいSocketクラスのコード記述を回避するため,比較的よく用いられる.
URLConnectionの一般的な方法
String getHeaderField(String name)
指定したヘッダフィールドの値を返します.
InputStream getInputStream()
ここで開いている接続で読み込まれた入力ストリームを返します.
String getContentEncoding()
content-encodingヘッダフィールドの値を返します.
int getContentLength()
content-lengthヘッダフィールドの値を返します.
String getContentType()
content-typeヘッダフィールドの値を返します.
long getDate()
dateヘッダフィールドの値を返します.
URLクラスのOpenConnection()メソッドでは、URL参照のリソースの読み取りと書き込みに使用できるURLConnectionオブジェクトを生成できます.ネットワークプログラミングの仕事の中で、JAVAのURLConnectionは1つのよく使うクラスで、それは1つのとても便利なインタフェースを提供して、接続するホストのURLアドレスを提供するのでさえすれば、URLクラスのopenConnection()方法を使って1つのHttpURLConnectionのオブジェクトを得ることができて、その中のHttpURLConnectionクラスはURLConnectionクラスのサブクラスで、それからこの基礎の上でHTTPの内容を分析して、関連するタスクを完了します.この方式では,利用者は下位層の実装の詳細を考慮する必要がなく,煩わしいSocketクラスのコード記述を回避するため,比較的よく用いられる.
URLConnectionの一般的な方法
String getHeaderField(String name)
指定したヘッダフィールドの値を返します.
InputStream getInputStream()
ここで開いている接続で読み込まれた入力ストリームを返します.
String getContentEncoding()
content-encodingヘッダフィールドの値を返します.
int getContentLength()
content-lengthヘッダフィールドの値を返します.
String getContentType()
content-typeヘッダフィールドの値を返します.
long getDate()
dateヘッダフィールドの値を返します.
public class Inetaddress {
public static void main(String[] args) {
try {
System.out
.println(" URL http://www.szu.edu.cn, ");
URL url = new URL("http://www.szu.edu.cn");
InputStream in = url.openStream();
FileOutputStream fout = new FileOutputStream(new File(
"C:/Users/97617/workspace/InetAddress/src/com/imooc",
"szu.html"));
int a = 0;
while (a > -1) {
a = in.read();
fout.write(a);
}
} catch (IOException e) {
System.out.println(" URL http://www.szu.edu.cn ");
}
File file = new File(
"C:/Users/97617/workspace/InetAddress/src/com/imooc/szu.html");
System.out.println(" :"
+ new DecimalFormat("#.00").format(file.length() / 1024.00)
+ "k");
}
}