Este programa, llamado ParseCmdLine, proporciona una forma b�sica para construir tu propio analizador de argumentos.
class ParseCmdLine {
public static void main(String[] args) {
int i = 0, j;
String arg;
char flag;
boolean vflag = false;
String ficheroSalida = "";
while (i < args.length && args[i].startsWith("-")) {
arg = args[i++];
// Utiliza este tipo de chequeo para argumentos de "palabra"
if (arg.equals("-verboso")) {
System.out.println("modo verboso mode activado");
vflag = true;
}
// Utiliza este tipo de chequeo para argumentos que requieren argumentos
else if (arg.equals("-output")) {
if (i < args.length)
ficheroSalida = args[i++];
else
System.err.println("-output requiere un nombre de fichero");
if (vflag)
System.out.println("Fichero de Salida = " + ficheroSalida);
}
// Utiliza este tipo de chequeo para una serie de banderas
else {
for (j = 1; j < arg.length(); j++) {
flag = arg.charAt(j);
switch (flag) {
case 'x'.
if (vflag) System.out.println("Opci�n x");
break;
case 'n'.
if (vflag) System.out.println("Opci�n n");
break;
default.
System.err.println("ParseCmdLine: opci�n ilegal " + flag);
break;
}
}
}
}
if (i == args.length)
System.err.println("Utilizaci�n: ParseCmdLine [-verboso] [-xn]
[-output unfichero] nombre de Fichero");
else
System.out.println("Correcto!");
}
}
Acepta un argumento de cada uno de los tipos: un argumento de palabra, un argumento que requiere un argumento y dos banderas. Adem�s, este programa necesita un nombre de fichero. Aqu� tienes una sentencia de utilizaci�n de este programa.
Utilizaci�n: ParseCmdLine [-verboso] [-xn] [-output unfichero] nombrefichero
Los argumentos entre los corchetes son opciones: el argumento nombrefichero es obligatorio.