CatCommand2.java



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

 /** 最初に呼び出されるメソッド */
    public static void main( String argv[] ) {
        BufferedReader br;   // バッファリングの機能を備えたストリーム
        try {
            br = new BufferedReader(
                    new FileReader( argv[0] ) ); // 読み込み先のストリーム
            String line;
            while( ( line = br.readLine() ) != null ) {  // 1行単位で入力
                System.out.println( line );              // 1行単位で出力
            }
            br.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);
        }
    }
}