Передача строкового буфера в java-программу в IntelliJ debug/run
Как выполнить эквивалент запуска следующей строки в командной строке в IntelliJ или Eclipse....
java MyJava < SomeTextFile.txt
Я попытался предоставить расположение файла в поле "Аргументы программы" "Конфигурация запуска/отладки" в IntelliJ
Ответ 1
Как сказал @Maba, мы не можем использовать оператор перенаправления ввода (любой оператор перенаправления) в eclipse/intellij, так как нет оболочки, но вы можете имитировать ввод данных из файла через 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);
}
Ответ 2
Вы не можете сделать это прямо в Intellij, но я работаю над плагином, который позволяет перенаправить файл на stdin. Подробнее см. Мой ответ на аналогичный вопрос здесь [1] или попробуйте плагин [2].