在运行java文件时,我无法从命令行读取参数和stdin。我可以自己阅读和自己的参数,但不能在一起;例如:
java myFile 6 2 < numbers.txt
我可以将它存储在数组中存储6和2但是它只存储“&lt;”和“text.txt”也。我一直无法找到任何在线描述类似问题的内容,所以不确定从哪里开始。
答案 0 :(得分:2)
String[]
方法的main
- 类型参数中接收到命令行参数。输入重定向与在命令行调用的任何其他进程完成相同。可以通过从stdin
读取来检索字节,直到达到EOF
。
命令:java myClass myArg < myFile
public static void main(String[] args)
{
System.out.println("Arg 1 = " + args[0] + "\nStdin = ");
try (InputStreamReader isr = new InputStreamReader(System.in)) {
int ch;
while((ch = isr.read()) != -1)
System.out.print((char)ch);
}catch(IOException e) {
e.printStackTrace();
}
}
欲了解更多信息:
http://docs.oracle.com/javase/tutorial/essential/environment/cmdLineArgs.html http://docs.oracle.com/javase/tutorial/essential/io/cl.html