如何在IntelliJ或Eclipse中完成在命令行上运行以下行的等价物.... :
java MyJava < SomeTextFile.txt
我试图在IntelliJ中的Run / Debug Configuration的Program Arguments字段中提供文件的位置
答案 0 :(得分:6)
正如@Maba所说,我们不能在eclipse / intellij中使用输入重定向操作符(任何重定向操作符),因为没有shell但你可以通过stdin模拟输入读取,如下所示
InputStream stdin = null;
try
{
stdin = System.in;
//Give the file path
FileInputStream stream = new FileInputStream("SomeTextFile.txt");
System.setIn(stream);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
stream.close()
//Reset System instream in finally clause
}finally{
System.setIn(stdin);
}
答案 1 :(得分:2)
你不能直接在Intellij中这样做,但我正在开发一个允许将文件重定向到stdin的插件。有关详细信息,请参阅我在此处对类似问题的回答[1]或尝试插件[2]。
[1] Simulate input from stdin when running a program in intellij
答案 2 :(得分:0)
您可以使用BufferedReader来读取系统输入:
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}