OdCommand.java



/** バイナリファイルの内容を文字情報に変換し、
 *  標準出力に表示する OdCommandクラス 
 *  バイトが表示可能なアスキー文字ならばそのまま
 *  表示不可能な場合は8進数の表現で値を表示する
 */

import java.___.*;
public class ________________ {

  /** 起動時に呼び出されるメソッド */
    public static void ________( ________ argv[] ) {
        try {
            ____________________ fis =
                   new ________________( _____[__] ); // 読み込み先のストリーム
            int b;
            int count = 0;  // 読み込んだバイト数を記憶
            while( ( b = fis._______() ) != -1 ) {      // 1バイト単位で入力
               StringBuffer str = new StringBuffer( "   "); // 空白4文字
               String sub;
               if( ' ' <= b && b <= '~' )       // 表示可能なアスキー文字
                   sub = "" + (char)b;
               else
                   sub = Integer.toOctalString( b );  // 8進数表現の文字列を得る
               int len = sub.length();
               str.replace( 3-len, 3, sub );  // 文字列の長さに合わせ右寄せ表示
               System.out.print( str );
               if( count++ % 16 == 15 )
                    System.out.println( "" ); // 16バイトごとに改行
               else
                    System.out.print( " " );  // 空白1文字挿入
            }
            System.out.println( "" ); // 改行
            fis.________();           // ストリームのクローズ
        }
        catch( _____________________________ e ) {  // 引数のデータが不足
            System.err.println("Usage: java OdCommand filename");
            System.exit(-1);
        }
        catch( _____________________ e ) { // 読み込みファイルが存在しない
            System.err.println( argv[0] + " not Found");
            System.exit(-1);
        }
        catch( ___________ e ) {  // 入出力のエラーが発生
            System.err.println("IO Error....");
            System.exit(-1);
        }
        catch( Exception e ) {  // 入出力以外のエラーが発生
            System.err.println("Error....");
            System.exit(-1);
        }
    }
}