Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何解析Java中的命令行参数?

如何解析Java中的命令行参数?

提问于 2017-12-14 06:56:36
回答 2关注 0查看 310

在Java中分析命令行参数的好方法是什么?

回答 2

Dust

发布于 2017-12-14 07:00:00

看看最近的JCommander

我创造了它。我很高兴收到问题或功能要求。

housenimeia

发布于 2017-12-14 06:58:51

检查这些:

http://commons.apache.org/cli/

http://www.martiansoftware.com/jsap/

或者滚动你自己的:

http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html

例如,这是你如何使用commons-cli解析2个字符串参数:

代码语言:txt
AI代码解释
复制
import org.apache.commons.cli.*;
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
public class Main {
代码语言:txt
复制
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
    public static void main(String[] args) throws Exception {
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
        Options options = new Options();
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
        Option input = new Option("i", "input", true, "input file path");
代码语言:txt
AI代码解释
复制
        input.setRequired(true);
代码语言:txt
AI代码解释
复制
        options.addOption(input);
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
        Option output = new Option("o", "output", true, "output file");
代码语言:txt
AI代码解释
复制
        output.setRequired(true);
代码语言:txt
AI代码解释
复制
        options.addOption(output);
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
        CommandLineParser parser = new DefaultParser();
代码语言:txt
AI代码解释
复制
        HelpFormatter formatter = new HelpFormatter();
代码语言:txt
AI代码解释
复制
        CommandLine cmd;
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
        try {
代码语言:txt
AI代码解释
复制
            cmd = parser.parse(options, args);
代码语言:txt
AI代码解释
复制
        } catch (ParseException e) {
代码语言:txt
AI代码解释
复制
            System.out.println(e.getMessage());
代码语言:txt
AI代码解释
复制
            formatter.printHelp("utility-name", options);
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
            System.exit(1);
代码语言:txt
AI代码解释
复制
            return;
代码语言:txt
AI代码解释
复制
        }
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
        String inputFilePath = cmd.getOptionValue("input");
代码语言:txt
AI代码解释
复制
        String outputFilePath = cmd.getOptionValue("output");
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
        System.out.println(inputFilePath);
代码语言:txt
AI代码解释
复制
        System.out.println(outputFilePath);
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
    }
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
}

来自命令行的用法:

代码语言:txt
AI代码解释
复制
$> java -jar target/my-utility.jar -i asd                                                                                       
代码语言:txt
AI代码解释
复制
Missing required option: o
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
usage: utility-name
代码语言:txt
AI代码解释
复制
 -i,--input <arg>    input file path
代码语言:txt
AI代码解释
复制
 -o,--output <arg>   output file
和开发者交流更多问题细节吧,去 写回答
相关文章
java命令行参数解析
import org.apache.commons.cli.CommandLineParser;
用户7886150
2021/02/26
2.2K0
python中argparse 命令行参数解析包
argparse 是python自带的命令行参数解析包,可以用来方便地读取命令行参数,当你的代码需要频繁地修改参数的时候,使用这个工具可以将参数和代码分离开来,让你的代码更简洁,适用范围更广
Python学习者
2023/03/30
8080
java vm参数 命令行_java 命令行参数
参考链接: Java命令行参数 -Xmixed 混合模式执行 (默认)  -Xint 仅解释模式执行  -Xbootclasspath: 设置搜索路径以引导类和资源  -Xbootclasspath/a: 附加在引导类路径末尾  -Xbootclasspath/p: 置于引导类路径之前  -Xdiag 显示附加诊断消息  -Xnoclassgc 禁用类垃圾收集  -Xincgc 启用增量垃圾收集  -Xloggc: 将 GC 状态记录在文件中 (带时间戳)  -Xbatch 禁用后台编译  -Xms 设置初
用户7886150
2021/04/20
1.7K0
Python的命令行参数解析
命令行参数解析在编程语言中基本都会碰到,Python中内置了一个用于命令项选项与参数解析的模块argparse。下面主要介绍两种解析Python命令行参数的方式。 1. sys.argv 解析Pyth
Tyan
2017/12/28
1.7K0
python与R中的命令行参数解析方法
在写pipeline的时候,经常把python和R程序都整合进bash脚本里,这样比较方便,python和R怎么解析命令行参数的呢?
生信编程日常
2020/04/01
1.4K0
python与R中的命令行参数解析方法
java解析命令行参数(common-cli)练习
 A class that implements the CommandLineParser interface can parse a String array according to the Options specified and return a CommandLine.
用户3003813
2018/09/06
1.6K0
golang flag 命令行参数解析
基础例子 // 注册参数 port := flag.Int("p", 8080, "server Port") // 解析参数, 模块方法将使用 os.Args[1:] 做参数解析 flag.Parse() fmt.Printf("server port:%d", port) 基础类型 Flag 单条flag信息 type Flag struct { Name string // flag在命令行中的名字 Usage string // 帮助信息 Value
copy_left
2019/08/21
2.5K0
Python解析命令行参数 - argparse
parser.add_argument("--port", help="database port", type=int, default=3306)
十毛
2021/01/27
1.3K0
使用 JCommander 解析命令行参数
如果你想构建一个支持命令行参数的程序,那么 jcommander 非常适合你,jcommander 是一个只有几十 kb 的 Java 命令行参数解析工具,可以通过注解的方式快速实现命令行参数解析。
未读代码
2023/09/01
4230
使用 JCommander 解析命令行参数
GoogleOptions命令行参数解析工具
GoogleOptions是来自 Bazel Project 的命令行参数解析器。将 com.google.devtools.common.options 包拆分为一个单独的 jar,用于通用实用程序。
大忽悠爱学习
2023/05/11
4990
GoogleOptions命令行参数解析工具
Python中的命令行参数
在使用python开发脚本的时候,作为一个运维工具,或者是其他工具需要在接受用户参数运行时,这里就可以用到命令行传参的方式,可以给使用者一个比较友好的交互体验。
Java学术趴
2022/07/25
1.6K0
在java中print和println_JAVA命令行参数
Java中的PrintWriter类的println()方法用于中断流中的行。此方法不接受任何参数或返回任何值。
全栈程序员站长
2022/09/27
7160
golang-flag - 命令行参数解析
在写命令行程序(工具、server)时,对命令参数进行解析是常见的需求。各种语言一般都会提供解析命令行参数的方法或库,以方便程序员使用。如果命令行参数纯粹自己写代码解析,对于比较复杂的,还是挺费劲的。在 go 标准库中提供了一个包:flag,方便进行命令行解析。
landv
2019/07/03
7420
Python | 使用argparse解析命令行参数
今天是Python专题第27篇文章,我们来聊聊Python当中的命令行参数工具argparse。
TechFlow-承志
2020/08/17
2K0
bash/shell 解析命令行参数工具:getopts/getopt
bash 脚本中,简单点的参数选项,我们可以直接用位置参数 $1 $2 这样来获取处理了,例如下面这段代码片段: optionParam=$1 baseHdfsPath=$2 echo $optionParam|grep -qE '^(-d|-l)$' || usage echo $baseHdfsPath|grep -qE '^/' || usage if [[ $optionParam == "-l" ]] then echo --------------------$startTime----
用户1177713
2018/02/24
11.2K0
Python 命令行参数解析库argparse
在工作业务中,有些函数的调用要尽量傻瓜,能够让其他人能够方便地调用,毕竟甲方是爸爸。
MeteoAI
2019/07/24
1.9K0
Python3 命令行参数解析
在模型训练程序中,我们经常要配置命令参数,这里可用到 argparse 模块,它是 Python 内置的一个用于命令选项与参数解析的模块,通过在程序中定义好我们需要的参数,argparse 将会从 sys.argv 中解析出这些参数,并自动生成帮助和使用信息。 使用 argparse 模块解析命令行参数,主要分三个步骤:创建解析器、添加参数、解析参数,步骤如下:
嵌入式视觉
2022/09/05
1.3K0
如何通过Golang解析命令行参数实现版本号的显示?
EasyDSS视频直播/点播服务平台诞生至今,我们做了不少版本的功能更新和升级。除EasyDSS外,TSINGSEE青犀视频全线视频平台均有演示平台供参考,用户可以进入演示平台阅览界面了解相关功能。
TSINGSEE青犀视频
2021/12/07
9050
Python | 使用argparse解析命令行参数
今天是Python专题第27篇文章,我们来聊聊Python当中的命令行参数工具argparse。
用户8639654
2021/07/21
6280
python:argparse用于命令行参数解析
argparse是python中内置的命令行解析模块,内置于python,导入即可使用。
生信菜鸟团
2021/12/15
2.6K0

相似问题

如何读取/处理命令行参数?

2322

如何解析Java的调用关系?

0675

在Visual Studio中如何使用命令行参数进行调试?

21.6K

Python:用户输入和命令行参数?

2580

Java的最佳XML解析器?

2526
相关问答用户
腾讯云TDP | TDP会员擅长3个领域
平安资管 | 架构师擅长4个领域
擅长3个领域
擅长5个领域
腾讯云TDP | KOL擅长5个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档