所以我在Linux机器上使用Java而且我目前正在尝试从stdin读取,这样当我运行“java Simulation more~test / locationOfInput / test”时,它需要一个数字流并计算值并打印它们。但是,我的代码在尝试读取值时锁定,我检查空文件,所以我知道它至少接收文件。我目前有这个代码将stdin读入数组
Scanner input = new Scanner(System.in);
ArrayList<Integer> values = new ArrayList<Integer>();
while (input.hasNextInt()) {
int i = input.nextInt();
values.add(i);
}
循环似乎无限运行,我不知道为什么。我是否误解了如何从STDIN读入?
答案 0 :(得分:0)
您需要使用cat ~test/locationOfInput/test | java Simulation
正确重定向输出。
答案 1 :(得分:0)
您有两个选择:
你可以在1个程序中实现它们,所以如果它有一个参数,它会从该文件中读取,否则它将从管道输入中读取。