Это прослушивало меня последние пару дней, потому что это работало. Я обновил свой интеллект, и теперь он не работает. Я не хочу возвращаться, но мне нужен ответ.IntelliJ Idea debug/run console; System.out.flush не смывается
Итак, я пишу консольное приложение, и пока он работает, я хочу, чтобы у вас был демонстрационный показ прогресса. Он работает нормально, когда он работает, но когда я отлаживаю IntelliJ Idea, System.out.flush() не будет скрываться на консоли, если буфер не содержит новую строку. Я написал следующий модульный тест, чтобы узнать, было ли это я или мое приложение.
@Test
public void flushTest() {
int loops = 100;
for (int i = 0 ; i < 100 ; ++i) {
System.out.print("This is a print, does it flush : " + i + "\r");
if (i %10 == 0) {
System.out.print("\n");
}
System.out.flush();
}
}
Спойлер, это приложение. Я не знаю, что изменилось, но очень сложно отладить проблемы отображения, не выполняя полную сборку и выполнение в командной строке. Если кто-то может помочь мне понять, почему это изменилось и/или помочь мне исправить это, так что он будет флеш правильно, я был бы очень благодарен.
Я думаю, причина, по которой это происходит, объясняется в этом посте. http://stackoverflow.com/questions/7166328/when-why-to-call-system-out-flush-in-java. Однако на самом деле это не объясняет, как решить проблему. – Brion
Нашел то же самое, когда я недавно обновился до версии 2016.3. Я не смог найти это как проблему на YouTrack, поэтому добавил его здесь https://youtrack.jetbrains.com/issue/IDEA-166108 – user6579871