如何在 IntelliJ 或 Eclipse 中完成相当于在命令行上运行以下行......:
java MyJava < SomeTextFile.txt
我试图在 IntelliJ 的运行/调试配置的程序参数字段中提供文件的位置
如何在 IntelliJ 或 Eclipse 中完成相当于在命令行上运行以下行......:
java MyJava < SomeTextFile.txt
我试图在 IntelliJ 的运行/调试配置的程序参数字段中提供文件的位置
正如@Maba 所说,我们不能在 eclipse/intellij 中使用输入重定向运算符(任何重定向运算符),因为没有 shell,但您可以通过标准输入模拟从文件读取的输入,如下所示
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);
}
您不能直接在 Intellij 中执行此操作,但我正在开发一个插件,该插件允许将文件重定向到标准输入。有关详细信息,请参阅我对类似问题的回答 [1] 或尝试使用插件 [2]。
为此,您可以使用BufferedReader从系统输入中读取:
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}