Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

System.out.flush() 가 정확히 무엇을 의미 하는지??

3,280 views
Skip to first unread message

an su hoan

unread,
May 10, 1998, 3:00:00 AM5/10/98
to

정말 궁금 합니다..

System.out.println("Hello!!!"); -(1)

System.out.println("Hello!!!"); -(2)
System.out.flush()
이 무슨 차이가 있는지
확실히 구분이 가질 않습니다..

flush()는 버퍼에있는 것을 강제로 스트림으로 뿌리는 거라고 하던데..

암튼 어떤 책들 중에 (1)과 (2)를 혼용하여 쓰고 있어서..

여러 분들의 의견을 듣고파, 이렇게 글을 올립니다..
답변 부탁드립니다..

Pak ZinHyoung

unread,
May 10, 1998, 3:00:00 AM5/10/98
to

an su hoan (sh14...@star.elim.net) wrote:
: System.out.println("Hello!!!"); -(1)

: 과
:
: System.out.println("Hello!!!"); -(2)
: System.out.flush()
out 은 standard out으로 모든 출력을 버퍼링합니다.
즉, 상당한 출력을 모았다가 한번에 출력하는 것죠.
이것은 빈번한 출력을 매번 화면에 뿌리는 것보다 어느정도 모았다가
출력하는 것이 더 효율적이기 때문입니다.

그런데 이 버퍼링의 단점은 출력이 지연되어 나오므로 화면에 출력되는 시점과
명령을 내린 시점이 상당한 시간차이를 낸다라는 것이죠.
그래서 이런 출력을 "쓸어 내리"는 명령이 flush() 입니다.
System.err 를 사용하면 flush() 없이 시점이 보장됩니다만,
유닉스등의 커맨드라인에서 out 과 err는 서로 다르게 취급되기때문에
혼동이 올수도 있죠.

남상대

unread,
May 14, 1998, 3:00:00 AM5/14/98
to

네 한마디로. system.out.println()은 flush()를 하는거구요..
그러니까.. 버퍼를 청소하는것..
그러나.. system.out.print()는 출력을 하지 않고 모아놓는것이지요.
버퍼에. 그리고. system.out.flush()롤 내보내는 거지요

Pak ZinHyoung 이(가) <6j48n6$1j7$1...@news.kren.nm.kr> 메시지에서
작성하였습니다...

0 new messages