PrintWriter — 객체의 형식화된 표현을 텍스트 출력 스트림에 출력
PrintWriter — 객체의 형식화된 표현을 텍스트 출력 스트림에 출력
PrintWriter는 객체의 형식화된 표현을 텍스트 출력 스트림에 출력하는 클래스예요. 이 클래스는 PrintStream에 있는 모든 print 메서드를 구현합니다. 원시 바이트를 쓰는 메서드는 포함하지 않으며, 바이트 스트림이 필요하면 인코딩되지 않은 바이트 스트림을 사용해야 해요.
본문
이 클래스는 java.io.Writer를 상속하며 Closeable, Flushable, Appendable, AutoCloseable을 구현합니다.
PrintStream 클래스와 달리 자동 플러시가 켜져 있으면 개행 문자가 출력될 때가 아니라 println, printf, format 메서드 중 하나가 호출될 때에만 수행돼요. 이 메서드들은 개행 문자 대신 플랫폼 고유의 줄 구분자 개념을 사용해요. 이 클래스의 메서드는 결코 I/O 예외를 던지지 않지만, 일부 생성자는 예외를 던질 수 있어요. 클라이언트는 checkError() 호출로 오류가 발생했는지 물어볼 수 있어요. 이 클래스는 항상 잘못된 문자 시퀀스와 매핑할 수 없는 문자 시퀀스를 문자셋의 기본 대체 시퀀스로 대체해요.
필드
protected Writer out— 이PrintWriter가 쓰는 대상 writer예요.
생성자
PrintWriter(Writer out)— 자동 줄 플러시 없이 기존Writer로 만들어요.PrintWriter(Writer out, boolean autoFlush)— 자동 플러시 여부를 지정해 만들어요.PrintWriter(OutputStream out)— 기존OutputStream에서 만들되 자동 줄 플러시 없이 만들어요.PrintWriter(OutputStream out, boolean autoFlush)— 기존OutputStream과 자동 플러시 여부로 만들어요.PrintWriter(OutputStream out, boolean autoFlush, Charset charset)— 문자셋을 지정해 만들어요.PrintWriter(String fileName)— 지정한 파일 이름으로 만들어요.PrintWriter(String fileName, Charset charset)— 파일 이름과 문자셋으로 만들어요.PrintWriter(File file)— 지정한 파일로 만들어요.PrintWriter(File file, Charset charset)— 파일과 문자셋으로 만들어요.
메서드
void print(...)—boolean,char,int,long,float,double,char[],String,Object표현을 출력해요.void println(...)— 출력 후 줄을 종료해요.PrintWriter printf(String format, Object... args)— 형식 문자열과 인자로 형식화해 출력해요.PrintWriter format(String format, Object... args)— 형식화해 출력해요.PrintWriter append(CharSequence csq)— 문자 시퀀스를 추가해요.void write(int c),write(char[] cbuf, int off, int len),write(String s, int off, int len)— 문자를 써요.boolean checkError()— 스트림의 오류 상태를 플러시하고 검사해요.protected void setError()— 스트림의 오류 상태를 설정해요.protected void clearError()— 스트림의 오류 상태를 지워요.void flush(),void close()— 플러시와 닫기를 수행하며 예외를 던지지 않아요.
PrintWriter는 텍스트 출력이 필요할 때 PrintStream보다 인코딩을 더 잘 제어할 수 있고 문자 기반 출력에 적합해요.