繁体   English   中英

如何在Java中传递参数

[英]How to pass argument in java

嗨,我正在使用此代码运行shell脚本。问题是我想在运行program.like时传递参数“ trng-java”

like java Classname trng-java

码:

import java.io.*;

public class Test
{


public static void main(String[] args)
{
    try {
        Runtime rt = Runtime.getRuntime();
        Process pr = rt.exec(new String[]{"/bin/sh", "/tmp/test.sh", "trng-java"});

        BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream()));
        String line = "";
        while ((line = input.readLine()) != null) {
            System.out.println(line);
        }
    } 
    catch (Exception e) {
        System.out.println(e.toString());
        e.printStackTrace();
    }
}
}

这个怎么做?

您传入的参数将在args参数中以String yourParam = args [0]的形式出现

命令行参数通过String []参数args传递到您的应用程序,因此您应该能够使用args[0]访问该值。

Process pr = rt.exec(new String[]{"/bin/sh", "/tmp/test.sh", args[0] });

Process pr = rt.exec(new String[]{"/bin/sh", "/tmp/test.sh", args[0]});

当然,您还需要检查args是否包含至少一个参数

当您将参数传递给Java应用程序时,可以通过main中的args[]数组对其进行访问。

请参阅: http : //docs.oracle.com/javase/tutorial/essential/environment/cmdLineArgs.html我在此引用:

回显命令行参数

Echo示例将其每个命令行参数单独显示在一行上:

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

以下示例显示用户如何运行Echo。 用户输入以斜体显示。

 java Echo Drink Hot Java Drink Hot Java 

解析数字命令行参数

如果应用程序需要支持数字命令行参数,则必须将代表数字(例如“ 34”)的String参数转换为数字值。 这是一个将命令行参数转换为int的代码片段:

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

只需将参数添加到您的命令中,如下所示:

rt.exec("/bin/sh /tmp/test.sh trng-java");

public static void main(String[] args) ,args参数是争论。 如果您使用多种争论

java Classname a b c

然后在您的主要方法中args将是一个包含a,b,c的数组

如果这是您想要的,则首选args[0]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM