16.4.1 URLConnection
- URL간의 통신연결을 나타내는 클래스의 최상위 클래스
- 추상클래스
- method
import java.net.URL;
import java.net.URLConnection;
public class NetworkEx3 {
public static void main(String args[]) {
URL url = null;
String address = "http://news.naver.com/main/ranking/read.nhn?mid=etc&sid1=111&rankingType=" +
"popular_day&oid=008&aid=0002862578&date=20120622&type=1&rankingSeq=3&rankingSectionId=100";
String line = "";
try {
url = new URL(address);
URLConnection conn = url.openConnection();
System.out.println("conn.toString():"+conn);
System.out.println("getAllowUserInteraction():" + conn.getAllowUserInteraction()); //UserInteraction의 허용여부를 반환한다
System.out.println("getConnectTimeout():" + conn.getConnectTimeout());// 연결종료시간을 천분의 일초로 반환한다.
System.out.println("getContent():" + conn.getContent()); //content객체를 반환한다
System.out.println("getContentEncoding():" + conn.getContentEncoding());//content의 인코딩을 반환한다.
System.out.println("getContentLength():" + conn.getContentLength());//conten의 크기를 반환한다.
System.out.println("getContentType():" + conn.getContentType());//content의 typ을 반환한다
System.out.println("getDate():" + conn.getDate());//헤더의 date필드의 값을 반환한다.
System.out.println("getDefaultAllowUserInteraction():" + conn.getDefaultAllowUserInteraction());//defaultAllowUserInteraction의 값을 반환한다.
System.out.println("getDefaultUseCaches():" + conn.getDefaultUseCaches()); //useCache의 디폴트 값을 얻는다.
System.out.println("getDoInput():" + conn.getDoInput());//dolnput필드값을 얻는다.
System.out.println("getDoOutput():" + conn.getDoOutput());//doOutput필드값을 얻는다.
System.out.println("getExpiration():" + conn.getExpiration());//자원(URL)의 만료일자를 얻는다(천분의 일초단위)
System.out.println("getHeaderFields():" + conn.getHeaderFields());//해더의 n번째 필드를 읽어온다.
System.out.println("getIfModifiedSince():" + conn.getIfModifiedSince());//ifModifiedSince(변경여부)필드의 값을 반환한다.
System.out.println("getLastModified():" + conn.getLastModified());//LastModified(최종변경일) 필드의 값을 반환한다.
System.out.println("getReadTimeout():" + conn.getReadTimeout());//읽기제한시간을 설정한다.(천분의 일초)
System.out.println("getURL():" + conn.getURL());//URLConnection의 URL의 값을 변환한다.
System.out.println("getUseCaches():" + conn.getUseCaches());//캐쉬의 사용 여부를 반환한다.
} catch(Exception e) {
e.printStackTrace();
}
} // main
}
- BufferdReader 사용예제
import java.net.*;
import java.io.*;
public class NetworkEx4{
public static void main(String[] args){
URL url = null;
BufferedReader input = null;
String address = "http://www.javahome.com/sample/hello.html";
String line ="";
try{
url = new URL(address);
input = new BufferedReader(new InputStreamReader(url.openStream()));
while((line= input.readline()) != null) {
System.out.println(line);
}
input.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
- FileOuputStream 사용예제
import java.net.*;
import java.io.*;
public class NetworkEx5{
public static void main(String[] args){
URL url = null;
InputStream in = null;
FileOutputStream out = null;
String address = "http://www.javahome.com/sample/hello.zip";
int ch = 0;
try{
url = new URL(address);
in = url.openStream();
out = new FileOutputStream("hello.zip");
while((ch= inlread()) != -1) {
out.writy(ch);
}
in.close();
out.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
'자바의 정석 정리' 카테고리의 다른 글
자바의 정석 - 16.6 TCP 소켓 프로그래밍 (0) | 2022.08.31 |
---|---|
자바의 정석 - 16.5 소켓 프로그래밍 (0) | 2022.08.31 |
자바의 정석 - 16.3 URL (0) | 2022.08.31 |
자바의 정석 - 16.2 InetAddress (0) | 2022.08.31 |
자바의 정석 - 16.1 네트워킹 (0) | 2022.08.31 |