Hogar Finanzas personales Comando Argumentos de línea en Java - Dummies

Comando Argumentos de línea en Java - Dummies

Tabla de contenido:

Video: Paso de argumentos desde comandos main en Java 2024

Video: Paso de argumentos desde comandos main en Java 2024
Anonim

Érase una vez, la mayoría de los programadores de Java usaban una interfaz de desarrollo basada en texto. Escribieron un comando en una ventana de aspecto sencillo, generalmente con texto blanco sobre fondo negro.

¡Qué aburrido!

La ventana de aspecto simple se rige por varios nombres, según el tipo de sistema operativo que utilice. En Windows, una ventana de texto de este tipo es una ventana del símbolo del sistema. En un Macintosh y en Linux, esta ventana es el terminal. Algunas versiones de Linux y UNIX llaman a esta ventana un shell.

De todos modos, en la antigüedad, podías escribir un programa que absorbía información extra cuando escribías el comando para iniciar el programa.

Cuando ejecutas MakeRandomNumsFile, escribes alguna información adicional.

En la imagen de arriba, el programador escribe java MakeRandomNumsFile para ejecutar el programa MakeRandomNumsFile . Pero el programador sigue java MakeRandomNumsFile con dos piezas de información adicionales: MyNumberedFile. txt y 5 . Cuando se ejecuta el programa MakeRandomNumsFile , el programa absorbe dos datos adicionales y los utiliza para hacer lo que el programa tiene que hacer. El programa chupa MyNumberedFile. txt 5 , pero en otra ocasión el programador podría escribir SomeStuff 28 o BunchONumbers 2000 . La información adicional puede ser diferente cada vez que ejecuta el programa.

La siguiente pregunta es, "¿Cómo sabe un programa Java que se supone que debe generar información extra cada vez que se ejecuta? "Desde que comenzó a trabajar con Java, ha estado viendo este negocio String args [] en el encabezado de cada método principal . Bueno, es hora de que descubras de qué se trata todo esto. El parámetro args [] es una matriz de valores String . Estos String valores se llaman argumentos de línea de comandos.

Algunos programadores escriben

public static void main (String args [] )

y otros programadores escriben

public static void main (String [] args)

De cualquier manera, args es una matriz de String valores.

Usando argumentos de línea de comando en un programa Java

Este bit de código le muestra cómo usar argumentos de línea de comando.

Así es como se genera un archivo de números

import java. util. Aleatorio;

import java io. PrintStream;

import java io. IOException;

public class MakeRandomNumsFile {

public static void main (String args [] ) arroja IOException {

Generador aleatorio = new Random ();

si (args.longitud <2) {

Sistema. fuera. println ("Uso: número de nombre de archivo MakeRandomNumsFile");

Sistema. salida (1);

}

PrintStream printOut = new PrintStream (argumentos [0]);

int numLines = Entero. parseInt (args [1]);

para (int count = 1; count <= numLines; count ++) {

printOut. println (generador. nextInt (10) + 1);

}

printOut. cerca();

}

}

Si un programa en particular espera algunos argumentos de línea de comandos, no puede iniciar el programa ejecutándose de la misma manera que iniciaría la mayoría de los demás programas normales. La forma en que alimenta los argumentos de la línea de comando a un programa depende del IDE que esté usando: Eclipse, NetBeans o lo que sea. Allmycode. com tiene instrucciones para alimentar argumentos a programas que usan varios IDEs.

Cuando el código comienza a ejecutarse, la matriz args obtiene sus valores. Con la ejecución que se muestra en la imagen de arriba, el componente de matriz args [0] toma automáticamente el valor "MyNumberedFile. Txt" y args [1] se convierte automáticamente en "5" . Así que las instrucciones de asignación del programa terminan teniendo el siguiente significado:

PrintStream printOut = new PrintStream ("MyNumberedFile. Txt");

int numLines = Entero. parseInt ("5");

El programa crea un archivo llamado MyNumberedFile. txt y establece numLines a 5 . Luego, más adelante en el código, el programa genera aleatoriamente cinco valores y los coloca en MyNumberedFile. txt . Una ejecución del programa te da esto.

Después de ejecutar el código, ¿dónde puede encontrar el nuevo archivo ( MyNumberedFile. Txt ) en su disco duro? La respuesta depende de muchas cosas diferentes. Si usa un IDE con programas divididos en proyectos, entonces el nuevo archivo se encuentra en algún lugar de la carpeta del proyecto. De una manera u otra, puede cambiar el Listado 11-7 para especificar un nombre de ruta completo: un nombre como "c: \ Usuarios \ MiNombre \ Documentos \ MiNúcleo.txt" o "/ Users / MyName / Documents / MyNumberedFile. Txt" .

En Windows, los nombres de ruta de archivo contienen caracteres de barra diagonal inversa. Y en Java, cuando quiere indicar una barra invertida dentro de un literal String de comillas dobles, utiliza una doble barra diagonal inversa. Es por eso que "c: \ Users \ MyName \ Documents \ MyNumberedFile. txt "contiene pares de barras diagonales inversas. Por el contrario, las rutas de archivos en los sistemas operativos Linux y Macintosh contienen barras diagonales. Para indicar una barra inclinada en Java String, use solo una barra diagonal.

Observe cómo cada argumento de la línea de comando es un valor Cadena . Cuando miras args [1] , no ves el número 5: ves la cadena "5" con un dígito en ella. Lamentablemente, no puede usar ese "5" para hacer ningún conteo. Para obtener un valor int de "5" , debe aplicar el método parseInt .

El método parseInt vive dentro de una clase llamada Entero. Entonces, para llamar a parseInt , debe introducir el nombre parseInt con la palabra Entero. La clase Integer tiene todo tipo de métodos útiles para hacer cosas con valores int .

En Java, Integer es el nombre de una clase, e int es el nombre de un tipo primitivo (simple). Las dos cosas están relacionadas, pero no son lo mismo. La clase Integer tiene métodos y otras herramientas para tratar con los valores int .

Comprobando el número correcto de argumentos de línea de comando

¿Qué sucede si el usuario comete un error? ¿Qué ocurre si el usuario olvida escribir el número 5 en la primera línea w cuando abre MakeRandomNumsFile ?

Entonces la computadora asigna "MyNumberedFile. Txt" a args [0] , pero no asigna nada a args [1] . Esto es malo. Si la computadora llega alguna vez al enunciado

int numLines = Entero. parseInt (args [1]);

el programa falla con una ArrayIndexOutBoundsException hostil .

¿Qué haces al respecto? Usted verifica la longitud de la matriz args . Compara args. longitud con 2 . Si el array args tiene menos de dos componentes, aparecerá un mensaje en la pantalla y saldrá del programa.

El código te dice cómo ejecutarlo.

A pesar de la comprobación de args. longitud , el código aún no es a prueba de choques. Si el usuario escribe cinco en lugar de 5, el programa se cae en picado con un NumberFormatException . El segundo argumento de línea de comando no puede ser una palabra. El argumento tiene que ser un número (y un número entero, en eso). Puede agregar declaraciones para hacer que el código sea más a prueba de balas.

Cuando trabajas con argumentos de línea de comando, puedes ingresar un valor de Cadena con un espacio en blanco. Simplemente encierre el valor entre comillas dobles. Por ejemplo, puede ejecutar el código anterior con argumentos "Mi Big Fat File. Txt" 7 .

Comando Argumentos de línea en Java - Dummies

Selección del editor

Comparando objetos en Java - variables ficticias

Comparando objetos en Java - variables ficticias

Cuando empiezas a trabajar con objetos en Java, encuentras que puedes usar == y ! = para comparar objetos entre sí. Por ejemplo, un botón que ves en la pantalla de la computadora es un objeto. Puede preguntar si lo que acaba de hacer clic en el mouse es un botón en particular en su pantalla. Usted ...

Conversión y generación de datos numéricos en Java - Dummies

Conversión y generación de datos numéricos en Java - Dummies

De vez en cuando, necesita convertir datos numéricos de un tipo a otro en Java. Es posible que deba convertir un valor doble en un número entero, o viceversa. Algunas conversiones se pueden hacer de forma automática; otros se hacen usando una técnica llamada fundición. Conversiones automáticas en Java Java puede convertir automáticamente algunas primitivas ...

Comando Argumentos de línea en Java - Dummies

Comando Argumentos de línea en Java - Dummies

ÉRase una vez, la mayoría de los programadores de Java utilizaban una interfaz de desarrollo basada en texto. Escribieron un comando en una ventana de aspecto sencillo, generalmente con texto blanco sobre fondo negro. La ventana de aspecto simple se rige por varios nombres, según el tipo de sistema operativo que utilice. En Windows, una ventana de texto de este tipo es ...

Selección del editor

Cómo configurar el balance de blancos en las cámaras GoPro (edición negra) - simulaciones

Cómo configurar el balance de blancos en las cámaras GoPro (edición negra) - simulaciones

Si Te sientes aventurero o simplemente quieres controlar la temperatura de color de una escena en tu GoPro, no dudes en cambiar la configuración del balance de blancos. Por defecto, su GoPro está configurado en Auto, pero tiene otras opciones, incluidas estas: Automático: se ajusta automáticamente a la temperatura de color de la fuente de luz. 3000K: Funciona bien ...

Cómo limpiar una lente réflex digital - imitaciones

Cómo limpiar una lente réflex digital - imitaciones

Limpiar lentes dSLR es mucho menos intimidante que limpiar la cámara sensor. La limpieza de lentes es muy similar a limpiar ventanas. Debería sentirse cómodo limpiando lentes, ya sea que estén conectados a la cámara o no. Nunca se sabe cuándo tendrá que limpiar uno. Además, rara vez necesitará limpiar el objetivo trasero ...

Cómo estabilizar la cámara sin un trípode - muñecos

Cómo estabilizar la cámara sin un trípode - muñecos

Aquí hay algunas formas en que puede estabilizar su cámara digital sin un trípode Con un poco de ingenio, aún puedes obtener una gran fotografía de naturaleza o paisaje incluso cuando te olvidas de tu trípode. Imagina que es el anochecer Las ondulantes nubes están teñidas en 20 tonos que van del púrpura al azul cielo al rosa. Tienes ...

Selección del editor

Cómo sincronizar la música de Spotify con tu iPod - muñecos

Cómo sincronizar la música de Spotify con tu iPod - muñecos

Spotify es compatible con todos los modelos de iPod classic , así como el iPod shuffle y el iPod nano. Cualquier iPod que se conecte a través de una conexión por cable USB, en lugar del primer modelo que requirió una conexión FireWire (¿no hay un museo al que pueda donar eso?), Funcionará. Una excepción es el iPod touch: ...

Cómo etiquetar sus pistas en Spotify - dummies

Cómo etiquetar sus pistas en Spotify - dummies

En Spotify, puede etiquetar y editar la información de la pista . Cada archivo MP3 o AAC no es solo una pieza de audio. Al igual que una fotografía digital puede contener información adicional (sobre la cámara utilizada, la configuración de exposición, el tiempo que se tomó, etc.), un archivo de música digital también puede contener información, llamada metadatos, que ...

Cómo poner en orden el catálogo de Spotify - muñecos

Cómo poner en orden el catálogo de Spotify - muñecos

Con 15 millones de pistas y contando, habrá errores en la biblioteca de Spotify cuando se trata de páginas de biografía de artistas y artistas coincidentes con lanzamientos de álbumes. Spotify no cuenta con una herramienta automatizada para informar y corregir problemas, lo que crea un retraso manual para el personal de Spotify y es frustrante para los clientes que lo deseen ...