如何使用命令行参数来指示程序流程?
How to Use Command Line Arguments to Dictate Flow of Program?
我似乎已经搜索了所有 Google,但我找不到任何关于如何使用命令行参数来告诉 Java 程序执行哪个后续方法的信息。我正在尝试创建一个 Java 程序,其中包含学生评分应用程序的几个不同方面。
主程序是一个 GUI 表单,用户可以在其中输入特定 class 中每个学生的成绩。除此之外,我还需要一个接受 3 个命令参数的控制程序。第一个是一个数字,表示要加载的文件类型 (1. XML 2. JSON 3. TXT)。第二个是字母表示文件material(C表示Course数据,S表示Student数据)。最后一个参数是要上传的特定数据文件的名称,然后将其提取并上传到数据库以供 GUI 程序使用。
除了命令参数之外,我已经对程序的其余部分进行了编码,因为我完全不知道自己在做什么。命令参数代码应该看起来像这样:
public class Load
{
//Define global variables
static String inputDataChoice;
static String inputTableChoice;
static String inputFileName;
public static void main(String[] arg)
{
if (userChose == arg[0], arg[3], arg[5])
{
//If user chose 1 (XML), S (Student), and xmltest.xml
//Go to ParseXMLStudentFile();
}
if (userChose == arg[1], arg[4], arg[6])
{
//If user chose 2 (JSON), C (Course), and jsontest.json
//Go to ParseJSONCourseFile();
}
if (userChose == arg[2], arg[3], arg[7])
{
//If user chose 3 (TXT), S (Student), and test.txt
//Go to ParseTXTStudentFile();
}
}
}
我知道上面的代码是伪造的,但这是一般的想法。我如何接受来自用户的命令参数,然后使用该输入来决定执行哪个方法?这个程序会使用控制台 window 来接受用户输入吗?请帮忙!
arg 包含传递给命令行的参数,即如果您使用 prog.jar XML S xmltest.xml
:
调用 prog
String fileType = arg[0]; // == XML
String material = arg[1]; // == S
String fileName = arg[2]; // == xmltest.xml
if (fileType.equals("XML") && material.equals("S")) {
parseXMLStudentFile(fileName);
} else { // ...
}
我似乎已经搜索了所有 Google,但我找不到任何关于如何使用命令行参数来告诉 Java 程序执行哪个后续方法的信息。我正在尝试创建一个 Java 程序,其中包含学生评分应用程序的几个不同方面。
主程序是一个 GUI 表单,用户可以在其中输入特定 class 中每个学生的成绩。除此之外,我还需要一个接受 3 个命令参数的控制程序。第一个是一个数字,表示要加载的文件类型 (1. XML 2. JSON 3. TXT)。第二个是字母表示文件material(C表示Course数据,S表示Student数据)。最后一个参数是要上传的特定数据文件的名称,然后将其提取并上传到数据库以供 GUI 程序使用。
除了命令参数之外,我已经对程序的其余部分进行了编码,因为我完全不知道自己在做什么。命令参数代码应该看起来像这样:
public class Load
{
//Define global variables
static String inputDataChoice;
static String inputTableChoice;
static String inputFileName;
public static void main(String[] arg)
{
if (userChose == arg[0], arg[3], arg[5])
{
//If user chose 1 (XML), S (Student), and xmltest.xml
//Go to ParseXMLStudentFile();
}
if (userChose == arg[1], arg[4], arg[6])
{
//If user chose 2 (JSON), C (Course), and jsontest.json
//Go to ParseJSONCourseFile();
}
if (userChose == arg[2], arg[3], arg[7])
{
//If user chose 3 (TXT), S (Student), and test.txt
//Go to ParseTXTStudentFile();
}
}
}
我知道上面的代码是伪造的,但这是一般的想法。我如何接受来自用户的命令参数,然后使用该输入来决定执行哪个方法?这个程序会使用控制台 window 来接受用户输入吗?请帮忙!
arg 包含传递给命令行的参数,即如果您使用 prog.jar XML S xmltest.xml
:
String fileType = arg[0]; // == XML
String material = arg[1]; // == S
String fileName = arg[2]; // == xmltest.xml
if (fileType.equals("XML") && material.equals("S")) {
parseXMLStudentFile(fileName);
} else { // ...
}