자바/입출력 IO

FilterOutputStream의 자손: Print 스트림(보조 스트림)

백_곰 2022. 4. 25. 21:30

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에 대해서 알아보는 예제이다.

 

Exercise014