[Java] Java PrintWriter 출력 스트림에 대하여 알아보기.

2021-03-22

- 정의

PrintWriter는 개체의 형식화된 표현을 텍스트 출력 스트림에 출력한다. 이 클래스는 PrintStream에 있는 모든 출력 메서드를 구현한다. 프로그램이 인코딩 되지 않은 바이트 스트림을 사용해야 하는 원시 바이트를 작성하는 메서드는 포함되어 있지 않다. ( 출처 자바 api )

PrintWriter는 writer를 상속받아 사용한다. 때문에 writer 대비 다양한 출력방식을 제공하게 된다. 구체적으로 어떤 메소드들을 구현하고 있는지 알아보도록 하자.

- print / println / printf

PrintWriter를 사용하는 가장 큰 이유중 하나인 print 관련 메서드이다. 특히 println 메서드는 자동 개행을 시켜주기 때문에 조금 더 쉬운 출력 코딩을 할 수 있게 도와준다.

package tPrintWriter; import java.io.PrintWriter; public class Main { public static void main(String[] args){ PrintWriter pw = new PrintWriter(System.out); String str1 = "Hello"; pw.print(str1); pw.print(str1); pw.println(); // 개행 pw.print(str1); // 개행뒤 아랫줄에 출력 pw.println(); // 개행 pw.printf("%.2f", Math.PI); // 소숫점 둘째 자리까지 원주율 출력 pw.flush(); pw.close; } }

위의 코드를 실행해 주면 아래와 같은 결과를 얻을 수 있다.

- append

기존의 지정된 저장된 파일 등에 추가적인 데이터를 입력할 때 사용 하는 메서드이다. 매개 값으로는 문자 / 문자열 모두 받을 수 있다. 아래의 예는 text 파일에 간단한 문자열을 입력하고 append 추가적인 문자열을 대입하는 코드이다.

package tPrintWriter; import java.io.FileNotFoundException; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; public class Main { public static void main(String[] args){ String path = " 자신의 파일 경로를 입력 "; PrintWriter pw = null; try { pw = new PrintWriter(new FileWriter(path)); pw.println("Hello World"); pw.append('+'); pw.append(" Wow!!"); pw.flush(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } pw.close; } }

코드 실행시 아래와 같은 결과가 text 파일에 저장이 된다.

- checkError

checkError은 boolean의 리턴 값을 가지고 있다. PrintWriter 사용간 기본 출력 스트림에서 또는 형식 변환 중에 에러가 발생할 경우 true를 리턴하는 메서드이다.

package tPrintWriter; import java.io.PrintWriter; public class Main { public static void main(String[] args){ PrintWriter pw = new PrintWriter(System.out); pw.println("Hello"); pw.flush(); boolean check = pw.checkError(); System.out.println("PrintWriter 사용간 에러 발생 여부 : " + check); } }

위와 같은 방법으로 사용할 수 있으며, 오류가 발생하지 않으면 아래와 같이 false의 값을 리턴한다.

Tag » What Is Printwriter In Java