java - 从命令行参数控制程序

标签 java command-line

如何使用命令行参数选择程序中的方法来运行?例如,如果我想让我的程序处理一个名为 Moon.jpg 的图像,我该如何让它工作,以便命令行中的 -S Moon.jpg 调用 Scale 方法?或者 -HI Moon.jpg 会水平翻转图像并将其反转?我写了一些方法,它们在我正常运行程序时起作用。

最佳答案

你可以用这样的函数解析参数:

private void parseArguments(String[] args)
  {
    int i = 0;
    String curArg;

    while (i < args.length && args[i].startsWith("-"))
    {
      curArg = args[i++];

      if ("-S".compareTo(curArg) == 0)
      {
        if (i < args.length)
        {
            String image = args[i++];
            processImage()
        }
        else
        {
          // ERROR
        }
      }
    } 
  }

您的主要方法应始终具有 String[] args,其中包含按空格字符拆分的参数。还有很多库可用于解析命令行参数。此方法与 Apaches CLI 库使用的方法非常相似(当然,该库附带的方法更多,但解析器使用此逻辑)。

关于java - 从命令行参数控制程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11765348/

相关文章:

c - 如何在 C 命令行中采用逗号分隔的输入参数?

c# 运行 CL exe 或批量 cpture 输出 LIVE 到文本框?

java - ReSTLet javax.net.ssl.SSLHandshakeException : null cert chain

java - Android中如何将大量静态文本转换为数组

java - 带有 hibernate validator 5.1.0.Final 的 jboss 上的 NoSuchMethodError

java - 从应用程序启动 Google map

visual-studio - Visual C++ 命令行编译器 (CL.EXE) 重定向 OBJ 文件

c++ - 尝试在 mac osx 上编译 tcpxtract 会给出未找到的 i386 符号

bash - 如何替换文本文件中的 ${} 占位符?

java - 包级 Javadoc 文件的空模板