FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Java プログラム引数の解析

コマンドラインから利用するJavaプログラムを作っているとき、引数の解析が面倒。
で、調べてみると、Apache commonsのCLIというライブラリが使えそう。


■使い方
・ダウンロード
CLIをCommonsのCLIのページからダウンロードしてきて、パスを通す。

・ソースサンプル


import org.apache.commons.cli.*;
…略…
 public static void main(String[] args) throws ParseException{
  Options op = new Options();

  //オプションの設定。
  //addOptionの第2引数(bool)でオプションに引数があるか指定できる
  op.addOption("a", false , "オプション1");
  op.addOption("b", true , "オプション2。引数あり");
  op.addOption("h", false , "help");

  //解析クラス生成
  BasicParser bp = new BasicParser();
  CommandLine cl = bp.parse(op, args);

  //-hがあったらヘルプを表示
  if( cl.hasOption("h")){
   HelpFormatter hf = new HelpFormatter();
   hf.printHelp("help", op);
  }

  //引数の値を表示
  System.out.println(cl.getOptionValue("a"));
  System.out.println(cl.getOptionValue("b"));
 }
…略…



実行

test -a zzz -b "hoge表\"a"



実行結果

usage: help
-a オプション1
-b オプション2。引数あり
-h help
null
hoge表"a



■メモ
・引数なしのオプションにgetOptionValueしたら null

・無意味な値(上記実行例のzzz)は無視してくれるもよう

・ヘルプの表示をメソッド1つでできるのはありがたい


■参考
Jakarta Commons CLIでJavaコマンドラインも楽々

以上。
スポンサーサイト

テーマ : プログラミング
ジャンル : コンピュータ

コメントの投稿

管理者にだけ表示を許可する

検索フォーム
プロフィール

takuan93

Author:takuan93
本ブログの説明書→「ReadMe」

管理者に連絡

カテゴリ
WiX (5)
Ant (1)
フリーエリア
最新記事
カウンター
カレンダー
07 | 2018/08 | 09
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 -
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。