본문 바로가기
  • fishing...
  • eating...
MISCELLANEOUSNESS

[JAVA] 네트워크 스트림 열기

by 회색뿔 2007. 9. 16.


방법.
1. WWW의 웹 주소를 나타내는 URL 객체를 생성.
2. URL을 읽어 들이고 사이트에 접속하는 URLConnection 객체 생성.
3. URLConnection 객체의 GetInputStream()메소드를 이용하여 URL로부터 데이터의 스트림을 읽을 수 있는 InputStreamReader를 생성.
4. InputStreamReader를 이용하여 효율적으로 입력 스트림으로부터 문자들을 읽어 들이는 BufferedReader객체를 만든다.

Source
Getfile.java

--------------------------------------------------------------------

iimport java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;

public class Getfile extends Frame implements Runnable
{
 Thread runner;
 
 URL page;
 
 TextArea box = new TextArea( "Getting Text...." );
 
 public Getfile()
 {
  super( "GetFile" );
 
  add( box );
 
  try
  {
   page = new URL( "http://www.naver.com/index.html" );
  }
  catch( MalformedURLException e )
  {
   System.out.println( "Bad URL : " + page );
  }
 }
 
 public static void main( String[] args )
 {
  Getfile frame = new Getfile();
 
  WindowListener l = new WindowAdapter()
  {
   public void windowClosing( WindowEvent e )
   {
    System.exit( 0 );
   }
  };
 
  frame.addWindowListener( l );
 
  frame.pack();
  frame.setVisible( true );
 
  if( frame.runner == null )
  {
   frame.runner = new Thread( frame );
   frame.runner.start();
  }
 }

 public void run()
 {
  URLConnection conn = null;
 
  InputStreamReader in;
  BufferedReader data;
  String line;
 
  StringBuffer buf = new StringBuffer();
 
  try
  {
   // 커넥션으로 부터 입력 스트림을 얻기 위해 필요한 URL 커넥션을 연다.
   conn = this.page.openConnection();
   conn.connect();
   
   box.setText( "Connection Opened..." );
   
   // 커넥션으로부터 입력 스트림을 얻는다.
   in = new InputStreamReader( conn.getInputStream() );
   // 버퍼를 사용하는 입력 스트림
   data = new BufferedReader( in );
   
   box.setText( "Reading data.. " );
   
   while( ( line = data.readLine() ) != null )
   {
    buf.append( line + "\n" );
   }
   
   box.setText( buf.toString() );
  }
  catch(IOException e )
  {
   System.out.println( "IO Error: " + e.getMessage() );
  }
 }
}


--------------------------------------------------------------------

위의 화면은 www.naver.com/index.html의 파일 내용이다.ㅎㅎ;;;
네이버 메인 화면에서 소스보기를 하면 위와 동일한 소스를 얻을수 있다..
 
후훗.. 재밌다 재밌어..ㅋㅋ


'MISCELLANEOUSNESS' 카테고리의 다른 글

[JAVA] JAVA로 구현한 연결리스트  (0) 2007.09.16
[SWT] SWT 개발 환경 설정하기  (0) 2007.09.15
[Priority Queue] 우선순위 큐  (0) 2007.09.15