我们如何使用intellij / eclipse中的arg []获取命令行参数

时间:2017-10-01 16:02:52

标签: java

我被要求使用命令行参数运行程序。命令行参数可以是文件或标准输入。 例如:

您的程序必须接受来自两个来源的输入:传入的文件名 命令行参数和STDIN。例如'./program input.txt'和'./program< input.txt'应该有用。

让我坦率地说,我不确定是否要求我传递文件的位置或使用STDIN将输入提供给程序。我假设,现在,它要求我输入文件的位置。我怎么能用arg [0]呢?我可以使用System.in,是否会违反我要求的要求?

2 个答案:

答案 0 :(得分:1)

您可以直接从运行配置传递参数,而不是直接运行应用程序。例如,在eclipse中,您可以执行以下操作:

  1. 右键点击项目>以>运行运行配置
  2. 在新窗口中:java应用程序> “你的应用”
  3. 你可以找到一个标签“arguments”
  4. 这里你可以在“程序参数”中设置应用程序的参数。

答案 1 :(得分:0)

  

我不确定是否要求我传递文件的位置或使用STDIN将输入提供给程序

两者。如上所述,“您的程序必须接受来自两个来源的输入”。因此,您的程序必须同时支持文件参数或从标准读取。

对于第一个变体,文件参数,文件的名称将在arg[0]中可用。

因此,如果arg-array包含至少一个条目,请使用file参数。 如果没有文件参数(arg.length == 0),则从STDIN读取。

在代码中,它看起来有点像这样:

public static void main(String[] arg) {
  if (arg.length == 0) {
    // work with System.in
  } else {
    File file = new File(arg[0]);
    // work with file
  }
}