Как использовать несколько раз индикатор выполнения в консоли? - Котлин
Я работаю с Kotlin
создать консольное приложение Java, которое обрабатывает некоторые данные и использует https://github.com/ctongfei/progressbar для отображения в консоли прогресса цикла.
Мой код:
val pb = ProgressBar("Test Fitness " + fitnessId , maxValueIterator)
for (i in 1..maxValueIterator) {
... // Some code not related with the bar
pb.step();
}
Я знаю, что этот компонент для Java, но Kotlin позволяет использовать их, потому что он переносится в Java при компиляции (поправьте меня, если я ошибаюсь).
Эта проблема:
Проблема возникает при повторном запуске цикла.
Индикатор выполнения включается (как мигание с одним и другим) с предыдущим (это уже закончилось, и это 100%) и иногда печатает много строк с одним или другим, обе ошибки происходят, когда процент от текущий бар увеличивается.
Я не могу определить, где ошибка, документация показывает тот же способ использования.
Пример ошибки (вывести много строк одновременно):
Test Fitness 372 100% [==========... // This "Fitness 372" was finished and continues to appear
Test Fitness 299 100% [==========... // The same with this
Test Fitness 921 82% [==========... // This "Fitness 921" is the one that is running
1 ответ
После прочтения различных методов ProgressBar
учебный класс.
Я обнаружил, что после завершения использования каждого индикатора выполнения, вам нужно сделать .close()
, если это не сделано, это как если бы у вас было несколько установок одновременно.