JavaTM Platform
Standard Ed. 6

java.io
클래스 OutputStreamWriter

java.lang.Object 
  상위를 확장 java.io.Writer 
      상위를 확장 java.io.OutputStreamWriter
모든 구현된 인터페이스:
Closeable , Flushable , Appendable
직계의 기존의 서브 클래스:
FileWriter


public class OutputStreamWriter
extends Writer

OutputStreamWriter 는, 문자 스트림로부터 바이트 스트림에의 중개의 역할을 가집니다. 바이트 스트림에 기입해진 문자는, 지정된 charset 를 사용해 바이트에 encode 됩니다. 사용되는 캐릭터 세트는, 이름으로 지정하는 일도, 명시적으로 건네주는 일도, 또는 플랫폼의 디폴트의 캐릭터 세트를 그대로 사용할 수도 있습니다.

write() 메소드를 호출할 때마다, 지정된 문자에 대해서 인코딩 컨버터가 불려 갑니다. 결과적으로 얻을 수 있는 바이트는, 버퍼에 축적되고 나서 기본이 되는 출력 스트림에 기입해집니다. 이 버퍼의 사이즈는 지정할 수 있습니다만, 대부분의 경우, 디폴트의 사이즈로 충분합니다. write() 메소드에게 건네지는 문자는 버퍼에 들어가지 않기 때문에 주의해 주세요.

최대한으로 효율화하려면 , 컨버터를 빈번하게 호출하지 않게 하기 위해서 BufferedWriter 의 내부에 OutputStreamWriter 를 랩 하는 것을 고려해 주세요. 다음에 예를 나타냅니다.

Writer out
= new BufferedWriter(new OutputStreamWriter(System.out));
 

「surrogate 페어」는, 2 개의 char 치에 의해 나타내지는 문자입니다. \uD800 ~ \uDBFF 의 「상위」surrogate와 거기에 계속되는 \uDC00 ~ \uDFFF 의 「하위」surrogate로 구성됩니다.

A대응하는 하위 surrogate가 없는 상위 surrogate, 또는 대응하는 상위 surrogate가 없는 하위 surrogate는, 「부정한 surrogate 요소」라고 불립니다.

이 클래스는, 부정한 surrogate 요소나 맵 불가 문자 순서를, 항상 캐릭터 세트의 디폴트의 「대체 순서」로 옮겨놓습니다. encode 처리를 보다 강력하게 제어할 필요가 있는 경우는,CharsetEncoder 클래스를 사용해 주세요.

도입된 버젼:
JDK1. 1
관련 항목:
BufferedWriter , OutputStream , Charset

필드의 개요
 
클래스 java.io. Writer 로부터 상속된 필드
lock
 
생성자 의 개요
OutputStreamWriter (OutputStream  out)
          디폴트의 캐릭터 세트를 사용하는 OutputStreamWriter 를 작성합니다.
OutputStreamWriter (OutputStream  out, Charset  cs)
          주어진 캐릭터 세트를 사용하는 OutputStreamWriter 를 작성합니다.
OutputStreamWriter (OutputStream  out, CharsetEncoder  enc)
          주어진 캐릭터 세트 엔코더를 사용하는 OutputStreamWriter 를 작성합니다.
OutputStreamWriter (OutputStream  out, String  charsetName)
          지정된 캐릭터 세트를 사용하는 OutputStreamWriter 를 작성합니다.
 
메소드의 개요
 void close ()
          스트림을 최초로 플래시 해, 닫습니다.
 void flush ()
          스트림을 플래시 합니다.
 String getEncoding ()
          이 스트림로 사용되는 문자 인코딩의 이름을 돌려줍니다.
 void write (char[] cbuf, int off, int len)
          문자의 배열의 일부를 기입합니다.
 void write (int c)
          단일의 문자를 기입합니다.
 void write (String  str, int off, int len)
          캐릭터 라인의 일부를 기입합니다.
 
클래스 java.io. Writer 로부터 상속된 메소드
append , append , append , write , write
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

OutputStreamWriter

public OutputStreamWriter(OutputStream  out,
                          String  charsetName)
                   throws UnsupportedEncodingException 
지정된 캐릭터 세트를 사용하는 OutputStreamWriter 를 작성합니다.

파라미터:
out - OutputStream
charsetName - 지원하는 charset 의 이름
예외:
UnsupportedEncodingException - 지정된 캐릭터 세트가 지원되어 있지 않은 경우

OutputStreamWriter

public OutputStreamWriter(OutputStream  out)
디폴트의 캐릭터 세트를 사용하는 OutputStreamWriter 를 작성합니다.

파라미터:
out - OutputStream

OutputStreamWriter

public OutputStreamWriter(OutputStream  out,
                          Charset  cs)
주어진 캐릭터 세트를 사용하는 OutputStreamWriter 를 작성합니다.

파라미터:
out - OutputStream
cs - charset
도입된 버젼:
1.4

OutputStreamWriter

public OutputStreamWriter(OutputStream  out,
                          CharsetEncoder  enc)
주어진 캐릭터 세트 엔코더를 사용하는 OutputStreamWriter 를 작성합니다.

파라미터:
out - OutputStream
enc - 캐릭터 세트 엔코더
도입된 버젼:
1.4
메소드의 상세

getEncoding

public String  getEncoding()
이 스트림로 사용되는 문자 인코딩의 이름을 돌려줍니다.

인코딩에 호환명이 있는 경우는, 그 이름을 돌려줍니다. 호환명이 없는 경우는, 인코딩의 정규명을 돌려줍니다.

이 인스턴스가 OutputStreamWriter(OutputStream, String) 생성자 을 사용해 작성되었을 경우는, 인코딩에 대해서 일의가 되는 이름이 돌려주어져 생성자 에게 건네진 이름과는 다른 일이 있습니다. 스트림이 닫혀졌을 경우, 이 메소드는 null 를 돌려주는 일이 있습니다.

반환값:
이 인코딩의 호환명. 스트림이 닫고 있는 경우는 null
관련 항목:
Charset

write

public void write(int c)
           throws IOException 
단일의 문자를 기입합니다.

오버라이드(override):
클래스 Writer 내의 write
파라미터:
c - 기입하는 문자를 지정하는 int
예외:
IOException - 입출력 에러가 발생했을 경우

write

public void write(char[] cbuf,
                  int off,
                  int len)
           throws IOException 
문자의 배열의 일부를 기입합니다.

정의:
클래스 Writer 내의 write
파라미터:
cbuf - 문자의 버퍼
off - 문자의 기입 개시 오프셋(offset)
len - 기입하는 문자수
예외:
IOException - 입출력 에러가 발생했을 경우

write

public void write(String  str,
                  int off,
                  int len)
           throws IOException 
캐릭터 라인의 일부를 기입합니다.

오버라이드(override):
클래스 Writer 내의 write
파라미터:
str - 캐릭터 라인
off - 문자의 기입 개시 오프셋(offset)
len - 기입하는 문자수
예외:
IOException - 입출력 에러가 발생했을 경우

flush

public void flush()
           throws IOException 
스트림을 플래시 합니다.

정의:
인터페이스 Flushable 내의 flush
정의:
클래스 Writer 내의 flush
예외:
IOException - 입출력 에러가 발생했을 경우

close

public void close()
           throws IOException 
클래스 Writer 의 기술:
스트림을 최초로 플래시 해, 닫습니다. 스트림이 닫혀진 뒤에 write() 또는 flush()를 호출하면(자), IOException 가 throw 됩니다. 벌써 닫혀지고 있는 스트림을 닫아도, 무슨 영향도 없습니다.

정의:
인터페이스 Closeable 내의 close
정의:
클래스 Writer 내의 close
예외:
IOException - 입출력 에러가 발생했을 경우

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.