Pantallazo

Java : Manejando los Argumentos de la línea de comandos

Si alguna vez te preguntaste, ¿Para qué es el public static void main(String[] args)? o ya sabés que es pero no como usarlo, éste es tu post.

En pocas palabras las aplicaciones de Java aceptan parámetros desde la Línea de comandos / Consola, lo que permite al usuario pasar diferentes configuraciones desde el momento que se inicia una aplicación.

Entonces, supongamos que nuestra aplicación se lanza de la siguiente manera:

java -jar TestArgs.jar Hola Mundo

Entonces, el valor de “String[] args” será el siguiente:

args[0] = "Hola"; args[1] = "Mundo"; 

Entonces empecemos a jugar un poco con esto.

Formas de pasar parámetros

Hay de seguro 3 formas comunmente utilizadas:

java -jar TestArgs.jar Hola Mundo
java -jar TestArgs.jar -h
java -jar TestArgs.jar --mode=gui

En el siguiente ejemplo voy a usar tanto el segundo como el tercer modo.

Un Ejemplo un poco más real

Vamos a suponer lo siguiente, tenemos un proyecto, que puede ejecutarse tanto en modo gráfico como en modo texto y el comportamiento se indica con el parametro siguiente:

Imprime la ayuda de inicio (para consola):

java -jar TestArgs.jar -h

Corre el programa en modo texto (para consola):

java -jar TestArgs.jar --mode=text

Corre el programa en modo grágico (Swing)(Defecto):

java -jar TestArgs.jar --mode=gui

Entonces preparemos para recibir parametros:

// MANEJO DE LOS PARAMETROS DEL SISTEMA
        if (args.length > 0)
        {
            // Si ingresa un modo
            for (String key: args)
            {
                if(key.toUpperCase().equals("--MODE=TEXT"))
                {
                    // Modo texto
                    SERVER_MODE = SERVER_MODE_TEXT;
                }
                if(key.toUpperCase().equals("--MODE=GUI"))
                {
                    // Modo gráfico
                    SERVER_MODE = SERVER_MODE_TEXT;
                }
                if(key.toUpperCase().equals("-H"))
                {
                    // Imprimo la ayuda y salgo
                    System.out.println("Modo de Uso:");
                    System.out.println("\t --mode=[gui;text] Inicia el Server en modo gráfico (gui) o en modo consola (text)");
                    System.out.println("\t -h                Muestra este mensaje de ayuda");
                    System.exit(0);
                }

            }
        }
        // Si es cero va todo por defecto

Así pudimos tomar los parámetros, recorrerlos y actuar en consecuencia, hay cientos de maneras de utilizarlos usá el que más creas conveniente.

Para seguir jugando un poco

El siguiente código imprime en pantalla todos los parámetros, para así saber como llegan y como parsearlos:

// IMPRIME TODOS LOS PARAMETROS
        for (String s: args)
        {
            System.out.println(s);
        }

Links Recomendados

JavaWorld jc
Java Tutorial Oracle – Command line

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s