在 Java 中,命令行参数是在运行程序时从命令行传递给程序的额外信息。这些参数可以用来控制程序的行为,或者提供程序所需的输入数据。手动解析命令行参数意味着直接在 Java 代码中编写逻辑来解析命令行参数,而不依赖于任何第三方库。
Eclipse中设置命令行参数:
- 在 Eclipse 中,选择你要运行的 Java 程序的项目。
- 然后点击菜单栏中的 "Run" -> "Run Configurations..."。
示例代码:
CommandLineArgs类
public class CommandLineArgs { private String inputFilePath; private String outputFilePath; private boolean verbose; // Getters and setters public void setInputFilePath(String inputFilePath) { this.inputFilePath = inputFilePath; } public void setOutputFilePath(String outputFilePath) { this.outputFilePath = outputFilePath; } public void setVerbose(boolean verbose) { this.verbose = verbose; } public String getInputFilePath() { return this.inputFilePath; } public String getOutputFilePath() { return this.outputFilePath; } public boolean getVerbose() { return this.verbose; } }
main函数所在类:
import test.CommandLineArgs; public class Main { public static void main(String[] args) { CommandLineArgs parsedArgs = parseCommandLineArgs(args); System.out.println("输入参数为:"); System.out.println(parsedArgs.getInputFilePath()); System.out.println(parsedArgs.getOutputFilePath()); System.out.println(parsedArgs.getVerbose()); } private static CommandLineArgs parseCommandLineArgs(String[] args) { CommandLineArgs parsedArgs = new CommandLineArgs(); for (int i = 0; i < args.length; i++) { String arg = args[i]; switch (arg) { case "-input": if (i + 1 < args.length) { parsedArgs.setInputFilePath(args[i + 1]); i++; // 跳过参数值 } else { System.err.println("Missing value for -input parameter"); System.exit(1); } break; case "-output": if (i + 1 < args.length) { parsedArgs.setOutputFilePath(args[i + 1]); i++; // 跳过参数值 } else { System.err.println("Missing value for -output parameter"); System.exit(1); } break; case "-verbose": parsedArgs.setVerbose(true); break; default: System.err.println("Unknown parameter: " + arg); System.exit(1); } } return parsedArgs; } }
还没有评论,来说两句吧...