자바·JSP2013. 1. 15. 17:42

//특정 서버에서 클라이언트 측으로 제공하는 웹문서(html)을 읽어서 저장하는 코드

import java.net.*;
import java.io.*;

public class URLTest2 {
public static void main(String[] ar) throws IOException {
URL url = null;
BufferedReader br = null; // URL정보를 긁어오기 위함
BufferedWriter bw = new BufferedWriter(new FileWriter("sourceCopy.html"));

String str = null;

try {// URL은 프로토콜(http)부터 다 써줘야 한다
url = new URL("http://java.sun.com");
} catch (MalformedURLException e) {
System.out.println("잘못된URL 입니다");
e.printStackTrace();
}// URL 객체만 생성하고 통신하고 있는 상태는 아님



//데이터긁어오기 , 읽을때 파일명이아닌 네트웍 주소를 가져와야함
try {
br = new BufferedReader(new InputStreamReader(url.openStream()));
//url.openStream()을 넣으면 네트웍주소를 가져옴
while((str = br.readLine())!=null){
System.out.println(str);
bw.write(str);
bw.write("\r\n");
//서버쪽코드에는 접근할수 없고
//클라이언트쪽에서 보여지는 창의 코드들을 읽어서 출력함
//클라이언트쪽 코드도 막아놓을 수도 있음
}

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

bw.close();
br.close();

}

}

출력결과

특정 서버에서 클라이언트쪽으로 보내주는 html웹문서의 내용이 출력,저장됨

Posted by 미랭군