FilterOutputStream의 자손: Print 스트림(보조 스트림)
1. PrintStream
- 데이터를 기반 스트림에 다양한 형태로 print, println, printf와 같은 메서드를 오버라이딩하여 제공한다.
- 데이터를 적절한 문자로 출력하는 것이기 때문에, 문자 기반 스트림의 역할을 수행한다.
- 사실, PrintStream보다 PrintWriter가 향상된 기능을 가지고 있기 때문에, 되도록이면 PrintWriter를 쓰는 것이
좋다.
( Tip) System클래스의 static 맴버 System.out, System.err가 PrintStream이다. )
- 아래는 PrintStream의 생성자를 설명한다.
: 중요한 부분만 꼽아봤다. 자세한 내용은 894p를 참고한다.
(1) PrintStream(OutputStream out)
: 지정된 출력 스트림을 기반으로하는 PrintStream 인스턴스를 생성한다.
(2) PrintStream(OutputStream out, boolean autoFlush)
: 지정된 출력 스트림을 기반으로하는 PrintStream 인스턴스를 생성하고, autoFlush가 true이면
println 메서드가 호출되거나 개행문자가 출력될 때 자동으로 flush 된다.
( 기본 값은 false임. )
- 아래는 PrintStream의 메서드를 설명한다.
: 중요한 부분만 꼽아봤다. 자세한 내용은 894p를 참고한다.
(1) boolean checkError()
: 스트림을 flush하고 에러가 발생했는지 알려준다.
(2) protected void setError()
: 작업 중에 오류가 발생했음을 알린다.
( setError()를 호출한 후에, checkError()를 호출하면 true로 반환한다. )
1-1. PrintStream을 이해하기 위한 예제(1)
: formatter에 대해서 알아보는 예제이다.