引用的是apache.commons.cli包
在命令行下运行的 时候,注意引入jar包到classpath。
import org.apache.commons.cli.BasicParser;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
public class CommandParse {
public static void main(String[] args) {
try {
Options options = new Options();
Option ra = new Option("ra","to remove the archive transdata");
Option mt2a = new Option("mt2a","to move the trans to archive");
// options.addOption("ra","to remove the archive transdata");
// options.addOption("mt2a","to move the trans to archive");
options.addOption("q",true,"the query number");
options.addOption("c",true,"the commited number");
options.addOption("l",true,"limited working duration");
options.addOption("s",true,"the status of record");
options.addOption("d",true,"the days that should be stored not operated");
options.addOption("h", false, "Print help for this application");
options.addOption(ra);
options.addOption(mt2a);
BasicParser parser = new BasicParser();
CommandLine cl = parser.parse(options, args);
if (cl.hasOption('h')) {
HelpFormatter hf = new HelpFormatter();
hf.printHelp("OptionsTip", options);
} else if(cl.hasOption("ra")){
System.out.println("commited number: " + cl.getOptionValue('c'));
System.out.println("remain days:" + cl.getOptionValue('d'));
System.out.println("limited duration:" + cl.getOptionValue('l'));
}else if (cl.hasOption("mt2a")){
System.out.println("query number:" + cl.getOptionValue('q'));
System.out.println("commited number: " + cl.getOptionValue('c'));
System.out.println("remain days: " + cl.getOptionValue('d'));
System.out.println("limited duration: " + cl.getOptionValue('l'));
System.out.println("records status" +cl.getOptionValue('s'));
}
} catch (ParseException pe) {
pe.printStackTrace();
}
}
}
分享到:
相关推荐
本文将详细讲解如何通过Java执行命令行程序,以及在处理过程中可能遇到的线程阻塞问题。 首先,我们来看标题提到的"通过JAVA执行命令行程序"。Java提供了Runtime类的exec()方法来执行外部命令。例如,如果你想要在...
Java cmd命令行模拟工具是一种用于在Java环境中模拟操作系统命令行工具的实用程序。它使得开发者能够在Java代码中执行系统命令,获取命令输出,并对命令行交互进行控制,这对于自动化测试、脚本编写以及需要与系统...
在Java编程中,调用命令行是常见的任务之一,它允许开发者执行系统级别的操作,如运行外部程序、管理系统资源或进行文件操作。本篇将详细讲解如何在Java中调用命令行,以及相关的知识点。 首先,Java通过`Runtime`...
Java的命令行进度条JCmdLineProgress是一种在控制台或者终端显示进度的工具,它能够为执行时间较长的任务提供可视化反馈,使用户了解程序运行的状态。在开发命令行应用程序时,这种工具尤其有用,因为它可以帮助用户...
JAVA源码Java的命令行处理类库JArgs
Java的命令行进度条是开发基于控制台的Java应用程序时常用的一种增强用户体验的工具。它在执行长时间运行的任务时,如文件传输、大型数据处理或系统扫描时,为用户提供可视化的进度反馈。JCmdLineProgress库就是为了...
java资源Java的命令行处理类库 JArgs提取方式是百度网盘分享地址
2. **学习Java反射**:在处理命令行参数时,可能涉及到动态类型检查,这通常需要使用到Java的反射API。 3. **掌握异常处理**:学习如何优雅地处理命令行解析错误,可以提升你的异常处理技巧。 4. **学习API设计**:...
描述中的"基于java的命令行解析器 JOpt Simple.zip"再次强调了这是Java平台上的一个解析器,专为处理命令行参数而设计。JOpt Simple的特性包括支持短选项(单字符)、长选项(多字符),以及组合选项,它还允许定义...
然而,有时我们可能需要在命令行环境下运行Java程序,以便更好地控制或优化程序的启动过程。这篇博客文章将探讨如何在Eclipse中配置和使用Java命令行参数,这对于理解程序的运行行为以及调试是非常有帮助的。 在...
总之,JArgs是Java开发中处理命令行参数的强大工具,它使你能够快速构建具有专业级命令行接口的应用程序。通过使用JArgs,你可以专注于应用逻辑,而不是命令行解析的细节,从而提高开发效率和代码质量。在实际项目中...
在Java标准库中,处理命令行参数通常依赖于`java.lang.String[]`数组,即`main`方法的参数。然而,这种方法往往需要编写大量的代码来解析、验证和处理这些参数。JArgs类库则提供了一种声明式的方法来定义命令行语法...
Java命令行辅助工具是一款专为Java开发者设计的小型应用程序,旨在简化Java源代码的编译和执行过程。在日常开发中,我们通常需要通过命令行界面(CLI)来操作Java程序,这包括编译`.java`源文件为`.class`字节码文件...
可实现交互shell所具有的基本功能(没有历史记录功能),使用properties文件作为配置文件,利用反射实现命令的解析与向各个命令处理类的分发,使用简单,可作为各类Java小工程或应用的命令行界面。
Java命令行classpath(类路径)的设置是Java开发过程中的一项基础操作,对于理解和运行Java程序至关重要。类路径是指定Java虚拟机(JVM)在执行Java程序时查找类文件的位置。正确配置类路径能确保JVM能够找到并加载...
在Java编程中,创建基于命令行的程序是一种基础但实用的技术。这主要涉及到对系统输入输出的处理,以及可能的参数解析。以下是一些关于如何使用Java编写命令行程序的关键知识点: 1. **主方法(Main Method)**: ...
8. **IDE vs 命令行**:IDE如Eclipse、IntelliJ IDEA等会自动处理这些编译和运行的细节,但在命令行下,理解这些原理和操作是至关重要的,特别是在自动化脚本或持续集成环境中。 总之,理解Java的命令行编译和运行...
在创建命令行工具时,Java提供了丰富的类库,如`java.util.Scanner`用于用户输入处理,`java.io`包下的类用于文件操作,`java.lang.ProcessBuilder`可以调用系统命令,以及`java.nio`非阻塞I/O流等,这些都使得Java...
【Java聊天工具命令行版详解】 Java是一种广泛使用的编程语言,以其“一次编写,到处运行”的特性而闻名。在这个项目中,我们关注的是一个用Java编写的命令行聊天工具。这款工具提供了一个基本的交互平台,让两个或...
它提供了一种简单而强大的方式来定义和处理命令行选项,帮助开发者创建符合posix标准的命令行接口。JOpt Simple支持短选项(单字符前缀以'-'开头)和长选项(双字符前缀以'--'开头),还可以处理带值的选项、位置...