java 手动解析命令行参数

java 手动解析命令行参数

码农世界 2024-05-23 前端 66 次浏览 0个评论

在 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;
         }
     }  

转载请注明来自码农世界,本文标题:《java 手动解析命令行参数》

百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,66人围观)参与讨论

还没有评论,来说两句吧...

Top