다시 게제 합니다.
자바에서 웹 사이트 소스 보기라 하여
나와 있는 Tip 또는 강좌가 많이 있다.........
하지만.........
난 그 강좌들의 문제점을 발견하게 되어서 이렇게 글을 남기려 한다...
일반적으로 웹 사이트 소스 보기 Tip 이라 함은...
URL url = new URL("사이트주소");
BufferedReader br = null;
br = new BufferedReader(new InputStreamReader(aURL.openStream()));
즉... URL 객체에서 openStream 메소드를 이용하여 반환되는 값을 InputStreamReader로 받은뒤
다시 BufferedReader로 받아서...
아래와 같이 BufferedReader의 객체에서 readLine() 메소드를이용하여 한줄단위로 받아오게 된다...
String line = null;
while(br.readLine() != null) {
line = br.readLine();
JTextArea.append("\n" + line);
}
그러나 여기에 눈에 보여지지 않았던 문제가 있었습니다.
바로 정확히 소스를 긁어 오는게 아닙니다.......... 제대로 다 못 받아옵니다....
못믿으시겠다면 소스보기를 통한 소스 내용과 비교해 보시기 바랍니다.
그래서 검색끝에 발견한 방법...
아래 소스를 참고 하길 바라며
간단히 설명하면
URL url = new URL("소스를 긁어오기위한 사이트주소");
URLConnection con = null;
InputStream in = null;
String header =null;
con = url.openConnection();
con.connect();
in = con.getInputStream();
StringBuffer sb = new StringBuffer();
int i;
while((i = in.read()) != -1) {
sb.append(String.valueOf((char)i));
}
String temp2 = new String(sb.toString().getBytes("8859_1"),"KSC5601");
source_area.setText(temp2);
즉 일일이 char로 받아오긴 하지만....... 다 불러들였습니다....
물론 개선한다면 더 좋은 방법으로 업데이트 할 수 있으리라봅니다.
이상.. 오랜만에 자바 Tip 적어 봅니다...