Eclipse 콘솔에서 백 스페이스 \ b를 작동시키는 방법은 무엇입니까?


79

백분율이있는 진행률 표시기가 있어야하는 작은 Java 응용 프로그램을 만들고 있습니다. 모든 루프에서 백 스페이스를 사용합니다.\b 를 하여 다음 백분율을 표시하기 전에 표시된 진행률을 제거합니다.

다음은 간단한 예입니다.

public static void main(String[] args) throws Exception {
    System.out.print("Progress: ");
    for (int percentage = 0; percentage < 100; percentage++) {
        System.out.print(percentage + "%");
        Thread.sleep(10); // Stub for "long running task".
        int length = String.valueOf(percentage).length() + 1;
        while (length-- > 0) {
            System.out.print('\b');
        }
    }
    System.out.println("finished!");
}

이것은 명령 프롬프트에서 완벽하게 작동하지만 백 스페이스 문자는 Eclipse의 콘솔에서 인식되지 않습니다 (Galileo 빌드 20090920-1017). 대신 알 수없는 문자를 나타내는 빈 사각형을 표시합니다. 스크린 샷보기 :

대체 텍스트

Eclipse에서 백 스페이스를 올바르게 "표시"하려면 어떻게해야합니까? 즉, 이전 문자를 제거합니다.

이것은 명령 콘솔에서 실행되기 때문에 실제로 눈에 띄지 않지만 Eclipse에서도 작동하도록 만드는 것이 좋습니다 :)


1
NetBeans
PMorganCA

답변:


57

이클립스 버그 # 76936. 나는 그것들을 고칠 것이라고 믿지 않을 것이며 나열된 해결 방법도 없습니다.

더 발전된 콘솔에 기여하는 플러그인을 찾을 수 있습니다.


16
코멘트 # 24 참조- "... 디버그 팀은 현재이 작업을 수행 할 시간 / 자원이 없습니다. 기여해 주신다면 감사하겠습니다. "
Stephen C

6
@BryanHunt는 분명히 다음 버전의 Eclipse를 위해 무엇을할지 결정하는 사람에게 중요하지 않습니다. 분명히 그것은 당신에게도 충분히 중요하지 않습니다.
Thorbjørn Ravn Andersen 2012 년

14
버그를 수정했는데 4.5 M4에 있어야합니다.
Philippe Marschall 2014

2
@PhilippeMarschall 나는 당신의 노력을 줄이려는 것은 아니지만 내가 말할 수있는 한, 그것은 가장 확실하게 고정 되지 않았습니다 (화성 릴리스 사용). 백 스페이스 문자 인쇄는 나에게 영향을 미치지 않습니다. 편집 : 버그가 실제로 다시 나타났습니다.이 답변에 연결된 버그 보고서의 마지막 두 항목을 참조하십시오.
b1nary.atr0phy

1
bugs.eclipse.org/bugs/show_bug.cgi?id=76936 에 따르면 수정은 2016 년 6 월 22 일 ( projects.eclipse.org/projects/eclipse/releases/4.6.0) 릴리스 날짜로 Eclipse 4.6 용으로 계획되어 있습니다. / plan ). : /
사이먼

8

백 스페이스 \ b를 사용하여 표시된 진행률을 제거 할 수는 없지만 println을 호출하는 루프로 콘솔을 지우면 제거 할 수 있습니다. 물론이 kluge는 로그 파일을 지우지 않습니다!


"...로 콘솔 지우기"정확히 어떻게? println ()은 콘솔에 이미 인쇄 된 줄을 지울 수 없습니다!
KNU 2014

1
이미 인쇄 된 출력물을 위로 밀어 콘솔의 가시 영역에서 벗어나 효과적으로 콘솔을 지울 수 있습니다.
simon

3

고정, 이클립스 화성.

Eclipse 콘솔이 지연되므로 지속적인 업데이트를 위해 사용하지 않을 것입니다.


6
Neon.3 ( System.out.println("x\by")) 에서 수정되지 않았습니다 .
Matthieu

3

이제 그들은 그것을 고쳤지만 기본적으로 비활성화되어 있습니다. Interpret ASCII control characters콘솔 환경 설정을 통해 활성화해야합니다 .


이것은 Java 개발자 용 Eclipse IDE 버전 : 2019-12 (4.14.0)에서 작동했습니다. 감사합니다
nessa.gp

-4

사용 : System.out.print ( '\ b') 대신 while 루프 내부의 System.out.print ( "\ b"));

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.