Command-Line Arguments

Uma aplicação Java pode aceitar qualquer número de argumentos da linha de comando. Isto permite ao utilizador especificar informações de configuração quando a aplicação é lançada.

O utilizador introduz argumentos da linha de comando ao invocar a aplicação e especifica-os após o nome da classe a ser executada. Por exemplo, suponha que uma aplicação Java chamada Sort ordena linhas num ficheiro. Para ordenar os dados num ficheiro chamado friends.txt, um utilizador entraria:

java Sort friends.txt

Quando uma aplicação é lançada, o sistema de tempo de execução passa os argumentos da linha de comando para o método principal da aplicação através de um array de Strings. No exemplo anterior, os argumentos da linha de comando passaram para a aplicação Sort num array que contém um único String"friends.txt".

Echoing Command-Line Arguments

The Echo/code> exemplo mostra cada um dos seus argumentos de linha de comando numa linha por si só:

public class Echo { public static void main (String args) { for (String s: args) { System.out.println(s); } }}

O exemplo seguinte mostra como um utilizador pode correr Echo. A entrada do utilizador está em itálico.

java Echo Drink Hot JavaDrinkHotJava

Nota que a aplicação exibe cada palavra DrinkHot, e Java numa linha por si só. Isto acontece porque o carácter de espaço separa os argumentos da linha de comando. Para ter DrinkHot, e Java interpretados como um único argumento, o utilizador juntar-se-ia a eles, encerrando-os dentro de aspas.

java Echo "Drink Hot Java"Drink Hot Java

Div> Argumentos da Linha de Comando Numérica de Partilha

Se uma aplicação precisa de suportar um argumento de linha de comando numérico, deve converter um String argumento que representa um número, tal como “34”, para um valor numérico. Aqui está um trecho de código que converte um argumento de linha de comando para um int:

int firstArg;if (args.length > 0) { try { firstArg = Integer.parseInt(args); } catch (NumberFormatException e) { System.err.println("Argument" + args + " must be an integer."); System.exit(1); }}

parseInt atira um NumberFormatException se o formato de args não for válido. Todos os Number classes IntegerFloatDouble, e assim por diante têm parseXXX métodos que convertem um String representando um número para um objecto do seu tipo.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *