>  기사  >  Java  >  Java에서 명령줄 인수를 사용하는 방법

Java에서 명령줄 인수를 사용하는 방법

藏色散人
藏色散人원래의
2019-01-19 10:46:1517416검색

Java에서 명령줄 매개변수를 사용하는 방법: 먼저 터미널 창에서 Java 애플리케이션을 실행한 다음 매개변수를 애플리케이션의 시작점에 전달합니다.

Java에서 명령줄 인수를 사용하는 방법

이 문서의 운영 환경: Windows 7 시스템, Dell G3 컴퓨터, Java 버전 8.0.

명령줄 매개변수는 애플리케이션의 구성 속성을 지정하는 방법이 될 수 있으며 Java도 예외는 아닙니다. 운영 체제에서 애플리케이션 아이콘을 클릭하는 대신 터미널 창에서 Java 애플리케이션을 실행할 수 있습니다. 애플리케이션 이름 외에도 애플리케이션의 시작점(예: Java의 경우 기본 메소드)으로 전달되는 여러 매개변수가 뒤에 올 수 있습니다.

예를 들어 NetBeans에는 터미널 창에서 실행할 때 애플리케이션에 전달할 수 있는 여러 시작 매개변수가 있습니다. 예를 들어 -jdkhome은 NetBeans 애플리케이션과 연결된 기본 JDK 대신 사용할 JDK 버전을 지정합니다. .

main 메소드

메인 메소드에서 애플리케이션에 전달된 인수가 어디에 나타나는지 확인해 보겠습니다.

public static void main(String[] args)
{
...do something here
}

명령줄 인수는 args라는 문자열 배열에서 찾을 수 있습니다.

예를 들어 전달된 명령줄 인수를 인쇄하는 작업만 수행하는 CommandLineArgs라는 응용 프로그램을 생각해 보겠습니다.

public class CommandLineArgs {
    public static void main(String[] args) {
        //检查字符串数组是否为空
        if (args.length == 0)
        {
            System.out.println("There were no commandline arguments passed!");
        }
        //对于字符串数组中的每个字符串
        //打印出字符串。
        for(String argument: args)
        {
            System.out.println(argument);
        }
    }
}

명령줄 인수 구문

JRE(Java Runtime Engine)는 매개변수를 전달하는 구체적인 구문은 다음과 같습니다.

java ProgramName value1 value2

위에서 "java"는 JRE를 호출하고 그 뒤에 호출하는 프로그램 이름이 옵니다. 다음은 프로그램의 매개변수입니다. 프로그램이 취할 수 있는 인수 수에는 제한이 없지만 순서가 중요합니다. JRE는 명령줄에 나타나는 순서대로 매개변수를 전달합니다. 예를 들어, 위의 코드 조각을 고려해보세요.

public class CommandLineArgs2 {

    public static void main(String[] args) {
        if (args.length == 0)
        {
            System.out.println("There were no commandline arguments passed!");
        }

인수가 Java 프로그램에 전달되면 args[0]은 배열의 첫 번째 요소(위 값 1)이고, args[1]은 두 번째 요소(값 2)입니다. 등등. length() 코드는 배열의 길이를 정의합니다.

명령줄 매개변수 전달

NetBeans에서는 애플리케이션을 빌드하고 터미널 창에서 실행할 필요 없이 명령줄 매개변수를 전달할 수 있습니다. 명령줄 매개변수를 지정하려면:

프로젝트 창에서 프로젝트 폴더를 마우스 오른쪽 버튼으로 클릭하세요.

속성 옵션을 선택하여 프로젝트 속성 창을 엽니다.

오른쪽 카테고리 목록에서 실행을 선택하세요.

표시되는 인수 텍스트 상자에서 애플리케이션에 전달할 명령줄 인수를 지정합니다. 예를 들어 인수 텍스트 상자에 Apple Banana Carrot를 입력하고 위에 나열된 CommandLineArgs 프로그램을 실행하면 다음과 같은 출력이 표시됩니다.

Apple
Banana
Carrot

Parsing 명령줄 인수

일반적으로 전달된 값을 처리하는 방법에 대한 정보입니다. 매개변수 적용을 알리는 매개변수는 일반적으로 이름 앞에 하이픈 한두 개가 붙습니다. 예를 들어, JDK 경로에 대한 시작 매개변수를 지정하는 NetBeans 예제는 -jdkhome입니다.

이는 값으로 무엇을 할지 결정하기 위해 명령줄 인수를 구문 분석해야 함을 의미합니다. 명령줄 인수를 구문 분석하기 위한 여러 Java 명령줄 프레임워크가 있습니다. 또는 전달할 매개변수가 많지 않은 경우 간단한 명령줄 구문 분석기를 작성할 수도 있습니다.

public class CommandLineArgs {
//命令行参数:
// -打印输出输出它后面的所有参数
//addnumbers在后面添加所有的数字参数
public static void main(String[] args) {
//检查字符串数组是否为空
if (args.length == 0)
{
System.out.println("There were no commandline arguments passed!");
}
else
{
  // 设置一些初始变量
boolean printout = false;
boolean addNumbers = false;
boolean validNumbers = true;
int total = 0;
for(String argument: args)
{
if(argument.equals("-addnumbers"))
{
printout = false;
addNumbers = true;
}
else if (argument.equals("-printout"))
{
printout = true;
addNumbers = false;
}
else if (addNumbers)
{
try {
total = total + Integer.parseInt(argument);
} catch (NumberFormatException e) {
System.out.println("arguments passed with -addnumbers " + "must be integers!");
validNumbers = false;
addNumbers = false;
}
}
else if (printout)
{
System.out.println(argument);
}
}
if (validNumbers)
{
System.out.println("The total of the number arguments is: " + total);
}
}
}
}

위의 코드는 매개변수를 인쇄하거나 매개변수를 추가합니다(정수인 경우). 예를 들어 다음 명령줄 인수는 숫자를 추가합니다.

java CommandLineArgs -addnumbers 11 22 33 44

위 내용은 Java에서 명령줄 인수를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.