GetOpt

GetOptでこんなコードを書いてみました。
ふむ、たしかに余計なことはあんま考えなくていいから使い易い♪
ちょこっとインスタンス作るときがめんどいかな。

LongOptを使うと更にUnix-likeな長い別名か短い名前かは関係なしに指定できて
なお良い♪

                                                                                                                                      • -

/*
* 作成日: 2004/03/18 2:17:42
*
* GetOptTest.java
*
* @author shot
*
* GetOpt Test
*/
import gnu.getopt.LongOpt;
import gnu.getopt.Getopt;

public class GetOptTest {

public static void main(String args) {

/* :つきは引数を取る。ないやつは引数なし。 */
String shortOpts = "-:ab:";

LongOpt longOpts =
{
new LongOpt("com", LongOpt.NO_ARGUMENT, null, 'a'),
new LongOpt("dom", LongOpt.REQUIRED_ARGUMENT, null, 'b')
};

Getopt g = new Getopt("hoge", args, shortOpts, longOpts);

int c;
String arg = null;
while((c = g.getopt())!=-1){
switch(c){
case 'a':
System.out.println("a is called.");
break;

case 'b':
arg = g.getOptarg();
System.out.println("b is called");
System.out.println("arg="+arg);
break;

default:
break;
}

}

}
}

                                                                                                                                      • -