BLO9
Kotlin 등 개발 관련 포스팅합니다.
Console Progress

프로그레스나 중요하지 않은로그를 남기고싶을때 유용하게 이용할 수 있는 printf format. ‘\r’을 이용하면 해당줄 만 제거할 수 있다.

void consoleProgress(int progress, int total) {
    double percent = progress / total * 100
    String progressText = (0..99).collect { it == percent as Integer? ">" : it < percent ? "=" : "-"}.join("")
    print "\r[${String.format("%.2f", percent)}%][${progressText}] ($progress / $total) ${new SimpleDateFormat("hh:mm:ss / yyyy-MM-dd").format(new Date())}" // 초기화
}

255.times {
    consoleProgress(it, 254)
    sleep 100
}