Printstream 및 Printwriter API는 거의 동일하며 둘 다 다양한 형태의 데이터를 출력 할 수 있으며 구성 방법은 거의 동일합니다.
Printwriter에는 추가 수락 작가 매개 변수가 있습니다
API 비교 :
그렇다면 그들 사이의 차이점은 무엇입니까? Stackflow에서
주된 의미는 두 클래스의 기능이 기본적으로 동일하며 인쇄물을 구현할 수 있으며 인쇄기의 기능이 더 강력하다는 것입니다. 그러나 Printwriter가 비교적 늦게 나타 났기 때문에 이전 시스템은 PrintStream을 사용하여이를 구현 했으므로 PrintStream은 호환성을 위해 포기되지 않았습니다.
두 클래스의 가장 큰 차이점은 PrintStream이 문자를 출력하고 문자를 바이트로 변환 할 때 시스템의 기본 인코딩 형식을 사용한다는 것입니다. 이렇게하면 데이터가 다른 플랫폼으로 전송되고 다른 인코딩 형식을 사용하여 다른 플랫폼 디코드로 전송 될 때 문제가 발생하며 통제 할 수없는 요소가 있습니다. 인쇄기는 작가를 통과 할 때 프로그래머가 지정할 수 있으며 문자를 바이트로 변환 할 때 인코딩 형식이 더 좋습니다.
다음 프로그램은 동일한 출력 목적을 처리 할 때 두 객체 인쇄 스트림과 인쇄기가 어떻게하는지 보여줍니다. 이 프로그램에는 화면에 4 개의 문자 "Simplified Chinese"가 표시됩니다.
StreamWriterDemo.java 패키지 AllyFun.CaterPillar; import java.io.*; Public Class StreamWriterDemo {public static void main (String [] args) {try {byte [] sim = {(byte) 0xbc, (byte) 0xf2, // simplified (byte) 0xcc, (byte) 0xe5, // body5, // body. (byte) 0xd6, (byte) 0xd0, // medium (byte) 0xce, (byte) 0xc4}; // 텍스트 inputStreamReader inputStreamReader = new inputStreamReader (new ByTearRayinputStream (SIM), "GB2312"); printwriter (new printwrwr) "gb2312")); printstream printstream = new PrintStream (System.out, true, "gb2312"); int in; {printwriter.println ((char) in); printstream.println ((char) in);} inputStreamReader.close (); printwriter.close (); printstream.close ();} catch (arrayindexoutofboundsexception e) {e.printstacktrace () catch (ioexmence e) {e.printstacktrace ();}}}요약
위의 것은 Printstream과 Printwriter의 차이에 대한이 기사의 전체 내용이며, 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구는이 사이트의 다른 관련 주제를 계속 참조 할 수 있습니다. 단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!