我有一小段代码会要求用户输入输入,例如
5
12
59
58
28
58
第一个数字表示我需要创建的数组大小,其余数字将存储在该数组中。因此,对于给定的输入,将创建大小为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();
}
}
我想知道有没有办法只提供文本文件而不是手动输入数字。我的意思是知道有方法可以读取文本文件,但有没有办法在命令行中提供它。我知道在c中有一些简单的命令,你可以输入类似的东西,它可以工作 - &gt; ./code.out > input.txt
答案 0 :(得分:3)
假设您使用的是bash或POSIX命令行界面,那真的很简单。
1)创建一个名为“input.txt”的文件,您将保留输入(在本例中为数字)。
2)将输入保存到文件中(即通过将数字复制并粘贴到文件中)。
3)假设您使用javac编译了java文件,请运行如下程序:
java yourprogram < input.txt
4)也许如果你想将输出保存到文件中:
java yourprogram < input.txt > output.txt
要了解有关 bash重定向的更多信息,请阅读与此链接相对应的网页:https://www.gnu.org/software/bash/manual/html_node/Redirections.html。
答案 1 :(得分:1)
您可以使用Scanner
!
Scanner scn = new Scanner(new File("myFile.txt"));
使用命令行,您将使用psv main
中提供的参数。
public static void main(String args[]) {
Scanner scn = new Scanner(new File(args[0]));
}
然后,您可以从命令行运行.jar文件,并将其传递给路径。
java -jar myJar.jar“/home/matt/myFile.txt”
在Eclipse中,您可以进入启动配置编辑器,并从Eclipse中手动指定要在启动时添加的参数。