`
chong_zh
  • 浏览: 71946 次
  • 来自: 杭州
社区版块
存档分类
最新评论

解析命令行参数的两种方式

 
阅读更多
方式1
最Naive的实现,即按照参数的输入顺序进行依次解析,例如:
	private void parseArguments(String[] args)
	{
		dbIP = args[0];
		dbName = args[1];
		threadNo = Integer.parseInt(args[2]);
		timeout = Integer.parseInt(args[3]);
	}


这种方式比较简单直接,对于许多后台任务类程序的参数配置,如果参数数量不是很多,可以作为首先解决方案。


方式2
已经是一种比较Comprehensive的解决方案,已经可以满足绝大多数use case,提供友好的用户界面。

这种方式要求用户用以下参数来配置程序的命令行参数:
<YOUR COMMAND> -arg1Name arg1Value -arg2Name arg2Value -arg3Name argsValue ...


这种命令行参数的解析可以用以下方法:
		
for(int i = 0; i < args.length; i++)
{
	if(args[i].equals("-arg1Name"))
	{
		prepareArg1(args[++i]);
	}
	else if(args[i].equals("-arg2Name"))
	{
		prepareArg1(args[++i]);
	}
	else if(args[i].equals("-arg3Name"))
	{
		prepareArg1(args[++i]);
	}
	... ...
	else
	{
		printError();
		printUsage();
	}
}


分享到:
评论

相关推荐

    Node.js-minimist-解析命令行参数选项

    `minimist` 是一个轻量级的库,专门用于解析命令行参数和选项,使得开发者能够轻松地构建命令行工具。这个库非常简单易用,适合小型项目或者作为大型项目的起点。 ### 1. 安装 minimist 首先,你需要通过 npm ...

    python 命令行参数

    `optparse`模块是Python中用于解析命令行选项的一个强大工具,它允许开发者以直观的方式定义和解析命令行参数。下面将详细介绍如何使用`optparse`模块,并通过一个示例来具体说明其工作原理。 ##### 初始化`...

    传带空格的命令行参数

    在 Windows 系统中,处理带空格的命令行参数通常有两种方式: 1. **使用双引号**:最简单也是最常用的方法是在包含空格的参数两边加上双引号。例如,要传递 `document and setting` 这个参数,可以写成 `"document ...

    c#命令行解析实例CommandLineParser

    `CommandLineParser`库是一个强大的开源工具,它使得在C#中解析命令行参数变得简单而直观。这个库允许开发者定义命令行选项、参数和子命令,并提供了一套完整的API来验证和解析输入的命令行字符串。 `...

    MFC程序中如何接受命令行参数

    本文将深入探讨MFC程序中接收并解析命令行参数的多种方法,以及如何利用MFC提供的`CCommandLineInfo`类来增强对命令行参数的支持。 ### 一、获取命令行参数的基本方法 #### 方法一:`GetCommandLine()` `...

    命令行参数命令行参数的分析[文].pdf

    `getopt`函数是一个标准的C库函数,定义在`unistd.h`头文件中,它用于解析命令行参数。其基本语法如下: ```c int getopt(int argc, char const **argv, const char *optstring); ``` 这里的`argc`是命令行参数的...

    面向对象计算器命令行参数传入

    整个程序的结构清晰,符合面向对象的设计原则,同时也充分利用了Java的命令行参数功能。 为了运行这个程序,用户需要在命令行环境中输入类似以下的命令: ``` java Calculator 10 + 5 ``` 这将会执行`Calculator`...

    fflags是基于C语言的命令行参数解析程序.zip

    `fflags_parse`解析命令行参数,如果解析失败,它会返回错误信息。`fflags_get`用于检查选项是否被设置,`fflags_get_arg`获取指定选项的参数值。最后,`fflags_free`释放内存。 FFlags库还提供了更高级的功能,...

    易语言源码易语言取进程映像路径及命令行参数.rar

    "易语言源码易语言取进程映像路径及命令行参数.rar" 是一个包含易语言源代码的压缩文件,主要涉及的是获取操作系统中进程的映像路径以及命令行参数这两个核心概念。 1. 进程映像路径:在计算机系统中,每个运行的...

    C#命令行解析CommandLine

    本文将深入探讨如何在C#中解析命令行参数,以实现`CommandLine`的高效利用。 命令行参数是在程序启动时通过操作系统传递给程序的一系列字符串。在C#中,这些参数可以通过`Main`方法的`args`参数访问。`Main`方法是...

    CCmdLine命令行分析的类

    `CCmdLine`类的更新表明它现在可以处理这两种情况,这意味着无论你的程序运行在何种编码环境下,它都能正确解析命令行参数。 3. **命令行参数解析**:解析命令行参数通常涉及识别选项、开关以及它们对应的值。例如...

    命令行解析

    支持这两种格式意味着用户可以灵活选择更适合他们场景的表示方式,而解析器会自动转换并处理这些参数。 在“RBTreeForCLA”这个压缩包文件中,很可能是包含了一套实现上述功能的代码库。开发人员可能可以使用这个库...

    crappycli:一个糟糕的nim软件包,用于解析命令行参数。 :pile_of_poo:

    "crappycli"是针对Nim语言的一个开源软件包,专门用于解析命令行参数。虽然其名字暗示了它可能不那么完美,但它仍能提供基本的命令行参数处理功能,对于初学者或者快速原型开发来说,不失为一种实用的工具。 在Nim...

    获取命令行参数

    在编程领域,尤其是在Windows平台下的开发中,Visual C++(简称VC++)是...在实际编程中,根据项目的具体需求,还可以使用第三方库如Boost Program Options或C++20的`std::span`等工具来更方便地管理和解析命令行参数。

    Python命令行参数解析工具 docopt 安装和应用过程详解

    总结来看,docopt提供了一种非常简便的方式来定义和解析命令行参数,它基于自然语言的语法定义方式,使得编写帮助信息和解析参数变得直观易懂。通过本文的详细介绍和示例,Python开发者应该能够掌握docopt的基本安装...

    Java 命令行解析器 JOpt Simple源码示例

    `DefaultParser`类用于解析命令行参数,如果解析过程中出现错误,程序会打印错误消息和帮助信息。 了解了JOpt Simple的基本用法后,深入研究其源码可以让我们更深入地理解其实现原理,包括如何解析选项、处理参数、...

    cpp-现代C的命令行解析器

    然后在`main()`函数中解析命令行参数: ```cpp int main(int argc, char* argv[]) { try { parser.parse_args(argc, argv); // 现在可以从parser获取解析后的参数 } catch (const argparse::...

    Linux操作系统的程序命令行处理分析

    `getopt_long`函数接收一个字符串(表示短形式选项)和一个结构体数组(表示长形式选项),然后依次解析命令行参数,返回相应的选项字符。当处理完所有选项后,它将返回-1。如果遇到未定义的选项,它会返回问号(?)...

    Python命令行解析模块详解

    getopt模块是Python中用于解析命令行参数的传统方式。它模仿了Unix系统中的getopt()函数,用于处理包含短选项(单个字符前带破折号“-”,如-a)和长选项(长字符串前带双破折号“--”,如--long-option)的命令行...

    python命令行参数用法实例分析

    3. **解析参数**:使用`parse_args()`方法来解析命令行参数。这将返回一个元组,其中第一个元素是包含所有选项的对象,第二个元素是未被选项占用的剩余参数列表。 ```python options, arguments = p.parse_args() `...

Global site tag (gtag.js) - Google Analytics