首页 > 解决方案 > 试图了解如何创建一个打开终端并接受参数的 jar 文件

问题描述

我完成了一个程序的创建,但我被告知我的程序必须是一个 Java 应用程序,它以文件名作为命令行参数。”我知道我可以在终端中使用 jar 命令,但我不明白你是如何打开的终端并以文件名作为参数。我想知道是否有人可以解释这样做需要什么代码。非常感谢。

我尝试在终端中使用“jar cvf findOptimalTransport.jar”行创建一个基本的 jar 文件。但是jar文件没有打开,我认为这是因为当前的实现在代码中使用扫描仪输入用户输入并通过终端打印。但是,这不起作用,因为没有使用此命令打开终端窗口。

标签: javajararguments

解决方案


它不必是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


推荐阅读