Я разрабатываю плагин IntelliJ IDEA и пытаюсь прочитать большой объем текста из стандартного вывода GeneralCommandLine
, но с этим текстом он никогда не заканчивается.
Я пытался прочитать то же количество текста, напрямую вызывая двоичный файл, генерирующий его, а также просто «перехватывая» текстовый файл, содержащий тот же текст вывода. Результат тот же: waitFor()
никогда не закончится.
GeneralCommandLine generalCommandLine = new GeneralCommandLine("cat");
generalCommandLine.setCharset(Charset.forName("UTF-8"));
generalCommandLine.addParameter("pl.txt");
generalCommandLine.setWorkDirectory(plugin.getProject().getBasePath());
final Process process = generalCommandLine.createProcess();
process.waitFor();
Текст не очень длинный (3 тыс. Строк Json).
Должен ли я перенаправить ввод во временный файл и прочитать оттуда? Если да, каков наилучший метод назначения и имени временного файла?