如何使用 Java 命令行将文本文件读入扫描仪

use*_*101 2 java command-line command-line-arguments

我有一小段代码,会要求用户输入诸如

5
12
59
58
28
58
Run Code Online (Sandbox Code Playgroud)

第一个数字将指示我需要创建的数组的大小,其余数字将存储在该数组中。因此,对于给定的输入,将创建一个大小为 5 的数组,并且后面的数字将存储在该数组中。

我的代码

public static void main(String[] args) {
         Scanner sc = new Scanner(System.in);
         int size = sc.nextInt();
         int[] array = new int[size];

        for(int i =0; i<size; i++)
        {
            array[i] = sc.nextInt();
        }                       
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否有一种方法可以只提供文本文件而不是手动输入数字。我的意思是知道有多种方法可以读取文本文件,但是有没有一种方法可以在命令行中输入它。我知道在 c 中有一些简单的命令,你只需输入类似的命令即可工作 - >./code.out > input.txt

Gio*_*iuc 5

假设您使用的是 bash 或 POSIX 命令行界面,这确实非常简单。

1) 创建一个名为“input.txt”的文件,您将在其中保存输入(在本例中为数字)。

2) 将您的输入保存到文件中(即,通过将数字复制并粘贴到文件中)。

3) 假设您使用 javac 编译了 java 文件,请像这样运行程序:

java yourprogram < input.txt
Run Code Online (Sandbox Code Playgroud)

4)也许如果您想将输出保存到文件中:

java yourprogram < input.txt > output.txt
Run Code Online (Sandbox Code Playgroud)

要了解有关bash 重定向的更多信息,请阅读与此链接对应的网页: https: //www.gnu.org/software/bash/manual/html_node/Redirections.html