我完成了一个程序的创建但是我被告知我的程序必须是一个Java应用程序,它将命令行参数作为文件的名称。“我知道我可以在终端中使用jar命令,但我不知道你是如何打开的终端并将文件名作为参数。我想知道是否有人可以解释执行此操作所需的代码。非常感谢。
我尝试使用“jar cvf findOptimalTransport.jar”行在终端创建一个基本的jar文件。但是jar文件没有打开,我认为是因为当前的实现需要用户在代码中输入scannar并通过终端进行打印。但是,这不起作用,因为没有使用此命令打开终端窗口。
它不必是一个jar文件。运行应用程序时,可以从命令行输入命令行参数。
让我举个例子,说明这是如何运作的。假设你有以下简单的Java应用程序:
public class MyApplication{
public static void main(String[] arguments){
System.out.println("Hello World!");
}
}
public static void main()
是一种方法;更具体地说,是应用程序的主要方法,即编译和运行时执行的方法。
要编译然后运行它,请在命令行/终端中键入:
javac MyApplication.java //this will compile it
java MyApplication //this will run the main method of MyApplication
但是main方法中的那个参数是什么?什么是String[] arguments
?
当您运行程序时,无论您在应用程序名称之后键入什么,都是String类型的参数,它存储在String数组String[] arguments
(或最常见的String[] args
)中。
这意味着,如果您执行这样的应用程序:
java MyApplication some_file.txt // Run application with one arg.
您可以像这样访问该参数:
public class MyApplication{
public static void main(String[] arguments){
System.out.println("Hello World!");
System.out.println("You entered: " + arguments[0]);
}
}
输出:
你好,世界!
您输入了:some_file.txt
注意:要运行jar文件,您需要导航到jar文件所在的文件夹,并通过键入以下命令行运行它:
java -jar <jarname>.jar