CatCommand.java



/**
 * ファイルの内容を読み込み、
 * 標準出力へ表示するクラス(その1)
 */
import java.io.*;
public class CatCommand {

 /** 最初に呼び出されるメソッド */
    public static void main( String argv[] ) {
        FileReader fr;       // ファイルを読み込むメソッドを提供
        try{
            fr = new FileReader( argv[0] );   // 読み込み先のストリーム
            int c;
            while( ( c = fr.read() ) != -1 ) {  // 1文字単位で入力
                System.out.print( (char)c );    // 1文字単位で出力
            }
            System.out.flush();   // 標準出力のバッファの強制フラッシュ
            fr.close();
        }
        catch( ArrayIndexOutOfBoundsException e ) {  // 引数のデータが不足
            System.err.println("Usage: java CatCommand filename");
            System.exit(-1);
        }
        catch( FileNotFoundException e ) { // 読み込みファイルが存在しない
            System.err.println( argv[0] + " not Found");
            System.exit(-1);
        }
        catch( IOException e ) {  // 入出力のエラーが発生
            System.err.println("IO Error....");
            System.exit(-1);
        }
        catch( Exception e ) {  // 入出力以外のエラーが発生
            System.err.println("Error....");
            System.exit(-1);
        }
    }
}