PF型ファイアウォール ーCUI 編ー



関連ソースコード
WinPacketFiltering\PFSaver.java
WinPacketFiltering\PFSaver_CUI.java


ここでは前のページで作ったアプリケーション用メソッド群を使ったCUIアプリケーションをおおまかに説明します。


/*  17*/        private static final String fFolder = "FILTERS"; // フィルタファイル保存用ディレクトリ
/*  18*/        private static final String hFolder = "HANDLES"; // ハンドルファイル保存用
/*  19*/        private static final String lFolder = "RECORD";  // 終了時一時ファイル保存用
これらのフィールドはそれぞれフィルタ、ハンドル、終了時に管理しているフィルタとハンドルをファイル保存するディレクトリです。ファイル名は選択できま すが、保存場所は固定です。

/*  65*/        // メインメニューを表示する
/*  66*/        private void showMainMenu()
/*  67*/            throws PacketFilteringException, IOException, Exception
/*  68*/        {
/*  69*/            while(true)
/*  70*/            {
/*  71*/                boolean isFinished = false;
/*  72*/                
/*  73*/                try
/*  74*/                {
/*  75*/                    System.out.println("1. Start Filtering");
/*  76*/                    System.out.println("2. Stop Filtering");
/*  77*/                    System.out.println("3. Operate Interface");
/*  78*/                    System.out.println("4. Operate Filter");
/*  79*/                    System.out.println("9. Finish");
/*  80*/                    
/*  81*/                    System.out.print("> ");
/*  82*/                    String input = systemIn.readLine();
/*  83*/                    System.out.println();
/*  84*/                    
/*  85*/                    try
/*  86*/                    {
/*  87*/                        int inNum = Integer.parseInt(input);
/*  88*/                        switch(inNum)
/*  89*/                        {
/*  90*/                        case 1: startFiltering();       break;
/*  91*/                        case 2: stopFiltering();        break;
/*  92*/                        case 3: showHandleMenu();       break;  
/*  93*/                        case 4: showFilterMenu();       break;
/*  94*/                        case 9: isFinished=true;        break;
/*  95*/                        default: System.out.println("No Such Command!\n");
/*  96*/                        }
/*  97*/                    }
/*  98*/                    catch(NumberFormatException nfe)
/*  99*/                    {
/* 100*/                        System.out.println("Incorrect Input!\n");
/* 101*/                    }
/* 102*/                }
/* 103*/                catch(Exception e)
/* 104*/                {
/* 105*/                    System.out.println("Unexpected Error Occurred!");
/* 106*/                    e.printStackTrace();
/* 107*/                    System.exit(1);
/* 108*/                }
/* 109*/                
/* 110*/                if(isFinished) break;
/* 111*/            }
/* 112*/            
/* 113*/            finisher();
/* 114*/        } // showMainMenu END
機能実行選択メニューです。このアプリケーションはこういった形態で実行していきます。

メニューに戻る inserted by FC2 system