Java 使用 String[] args 作为输入,如何检索其内容?

标签 java input java.util.scanner

在家庭作业中,我们应该通过单击 Eclipse 的“运行配置”项,然后单击“参数”选项卡并输入文件名来检索输入文件。我可以做到这一点,但是当我尝试 forLoop{ SOP(args[i] } 时,它只会打印出文件名。

然后我尝试 Scanner Scanner = new Scanner(args) 它说我也不能这样做。

如何使用“参数”选项卡加载文件,然后使用扫描程序检索其内容?

示例:

for(int i = 0; i < args.length; i++) {
      System.out.println(args[i]);
}

上面的代码只是打印:Filename.txt

Scanner scanner = new Scanner(args);

给我一​​个错误。

最佳答案

Scanner 不提供将数组作为参数的构造函数。不过,它提供了一个构造函数,该构造函数采用单个字符串(包含要扫描的数据)。

如果您想要扫描文件(从 System.out 来看似乎是这样),只需将文件参数传递给 Scanner 的构造函数即可,如下所示。

将其更改为:

Scanner scanner = new Scanner(args);

至:

Scanner scanner = new Scanner(new java.io.File(args[0]));

关于Java 使用 String[] args 作为输入,如何检索其内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24220967/

相关文章:

c - fgets 读取特定大小

javascript - 无法使用 Javascript 更改输入标签的属性

Java——关闭扫描器和资源泄漏

java - 再次运行命令时变量不会重置

没有 Spring 的 Java 环境特定属性

jquery - 如何从输入中输入的单词中获取第一个值(仅第一个字母)

java - Scanner.close() 的作用是什么?

java - 使用 CoderPad,为什么我在 System.in 上使用扫描仪时会收到 NoSuchElementException?

dsa - 如何将 DSA 私钥转换为 byte[] ?

Java - 如果没有 flush() 和 close(),ByteArrayOutputStream 是否安全?