我有一个使用输入重定向的程序,在某些时候我想开始从键盘输入。我将如何重新定向输入?
我按如下方式运行程序
java SomeClass < data.txt
代码看起来像这样
java.util.Scanner = new java.util.Scanner(System.in);
//Process the data from data.txt
//Here I want to be able to receive input from the keyboard, but input still only looks for input from data.txt
我是否可以使用上述方法再次从键盘接收输入,或者,有哪些其他选项可用于接收来自两个不同来源的输入?
P.S。我正在使用Windows。
答案 0 :(得分:1)
在Unix(包括OS X)上,您应该能够使用cat
命令将来自两个或多个源的输入按顺序组合到一个流中。然后,您可以将其输入您的程序:
cat data.txt - | java SomeClass
裸-
参数表示标准输入,它在交互式shell会话中连接到键盘。
答案 1 :(得分:0)
如果需要,可以使用多个输入并使用它们?
Scanner keyboardScanner = new Scanner(System.in);
Scanner fileScanner = new Scanner("data.txt");
//Process the data from data.txt
fileScanner.nextLine();
//Here I want to be able to receive input from the keyboard, but input still only looks for input
keyboardScanner.nextLine();