URLContent2.java
import java.net.URL;
import java.io.*;
import java.awt.*;
import java.awt.image.*;
/** 指定された URLのオブジェクトを得る URLContent2 */
public class URLContent2 {
/** 最初に呼び出されるメソッド */
public static void main( String argv[] ) {
if( argv.length != 1 ) {
System.err.println( "Usage: java URLContent urlname" );
System.exit(0);
}
try {
URL url = new URL( argv[0] );
Object content = url.getContent();
if( content instanceof BufferedInputStream ) {
BufferedReader br
= new BufferedReader( new InputStreamReader(
(InputStream)content ) );
String line;
while( ( line = br.readLine() ) != null )
System.out.println( line );
br.close();
}
else if( content instanceof ImageProducer ) {
URLContent2 uc = new URLContent2();
Toolkit tk = Toolkit.getDefaultToolkit();
Image image
= tk.createImage( (ImageProducer)content );
ImageViewer iv = uc.new ImageViewer( image );
}
}
catch( Exception e ){
System.err.println( e.getMessage() );
System.exit(-1);
}
}
/** イメージの表示を行う innerクラス */
class ImageViewer extends ExitableFrame{
/** 表示するイメージ */
Image image;
/** コンストラクタ */
ImageViewer( Image image ) {
super( "Image Viewer" );
this.image = image;
setSize( 512, 256 );
setVisible( true );
}
/** 描画メソッド */
public void paint( Graphics g ) {
g.drawImage( image, 0, 0, this );
}
}
}