JavaTM Platform
Standard Ed. 6

java.nio.charset
클래스 CharsetEncoder

java.lang.Object 
  상위를 확장 java.nio.charset.CharsetEncoder


public abstract class CharsetEncoder
extends Object

16 비트 Unicode 문자의 순서를 특정의 캐릭터 세트로 표현된 바이트 순서로 변환하는 엔진입니다.

입력 문자 순서는, 단일의 문자 버퍼 또는 일련의 문자 버퍼로서 제공됩니다. 출력 바이트 순서는, 단일의 byte 버퍼 또는 일련의 byte 버퍼에 기입해집니다. 엔코더를 사용하려면 , 반드시 다음의 메소드 호출 순서 (이하 「encode 처리」)에 따라 주세요.

  1. 엔코더를 처음으로 사용하는 경우 이외는,reset 메소드를 사용해 엔코더를 리셋 합니다.

  2. 추가의 입력이 없어질 때까지 encode 메소드를 반복해 호출합니다. 각 호출동안에서,endOfInput 인수에 false 를 지정해, 입력 버퍼에 데이터를 포함해, 출력 버퍼를 플래시 합니다.

  3. encode 메소드의 마지막 호출에서는,endOfInput 인수에 true 를 지정합니다.

  4. 엔코더가 내부 상태를 출력 버퍼에 플래시 할 수 있도록(듯이),flush 메소드를 호출합니다.

encode 메소드를 호출할 때마다, 입력 버퍼내의 문자가 바이트에 encode 되어 출력 버퍼에 기입해집니다. 새로운 입력 요구를 받아들이거나 출력 버퍼의 용량이 부족하거나 encode 에러가 발생하거나 하면(자),encode 메소드는 종료해, 종료의 원인을 나타내는 CoderResult 객체를 돌려줍니다. 호출원래는, 이 객체를 확인해, 입력 버퍼를 가득 하는지, 출력 버퍼를 플래시 하는지, encode 에러로부터의 회복 처리를 실행해, 호출을 재시행합니다.

encode 에러에는 일반적인 2 종류의 에러가 있습니다. 입력 문자 순서가 정당한 16 비트 Unicode 순서가 아닌 경우는, 「부정 입력 에러」가 발생합니다. 입력 문자 순서는 정당해도, 이것을 유효한 바이트 순서에 맵 할 수 없는 경우는, 「맵 불가 문자 에러」가 발생합니다.

특정의 encode 에러가 어떻게 처리될까는, 그 타입의 에러에 대해서 요구되는 액션에 의해 정해집니다. 이러한 액션은,CodingErrorAction 클래스의 인스턴스에 의해 기술됩니다. 이용 가능한 에러 액션은, 에러 입력의 무시 , 반환값 CoderResult 객체를 경유한 호출 원래로의 에러의 보고 , 현재의 치환 바이트 배열치에 의한 에러 입력의 치환 의 3 개입니다. 치환치는, 우선 엔코더의 디폴트의 치환치로 설정됩니다. 그 초기치는 일반적으로, 「{ (byte)'? ' }」입니다만, 그렇게 되지 않는 경우도 있습니다.

부정 입력 에러나 맵 불가 문자 에러가 발생했을 경우, 디폴트의 액션으로서 이러한 에러의 {보고 를 합니다. 부정 입력 에러에 대한 액션을 변경하는 경우는 onMalformedInput 메소드를, 맵 불가 문자 에러에 대한 액션을 변경하는 경우는 onUnmappableCharacter 메소드를, 각각 사용합니다.

이 클래스는, 에러 액션의 구현을 시작으로 하는 encode 처리의 상세한 대부분을 처리하도록(듯이) 설계되고 있습니다. 특정의 캐릭터 세트에 대한 엔코더 (이 클래스의 구상 서브 클래스)가 구현할 필요가 있는 것은, 표준 encode 루프를 캡슐화하는 추상 메소드 encodeLoop 뿐입니다. 이것에 가세해 내부 상태를 보관 유지하는 서브 클래스는,implFlush 메소드와 implReset 메소드를 오버라이드(override) 할 필요가 있습니다.

이 클래스의 인스턴스는, 복수의 thread로 병행해 사용할 수 없습니다.

도입된 버젼:
1.4
관련 항목:
ByteBuffer , CharBuffer , Charset , CharsetDecoder

생성자 의 개요
protected CharsetEncoder (Charset  cs, float averageBytesPerChar, float maxBytesPerChar)
          새로운 엔코더를 초기화합니다.
protected CharsetEncoder (Charset  cs, float averageBytesPerChar, float maxBytesPerChar, byte[] replacement)
          새로운 엔코더를 초기화합니다.
 
메소드의 개요
 float averageBytesPerChar ()
          입력 문자 마다 생성되는 평균 바이트수를 돌려줍니다.
 boolean canEncode (char c)
          이 엔코더가 지정된 문자를 encode 할 수 있을지 어떨지를 판단합니다.
 boolean canEncode (CharSequence  cs)
          이 엔코더가 지정된 문자 순서를 encode 할 수 있을지 어떨지를 판단합니다.
 Charset charset ()
          이 엔코더를 작성한 캐릭터 세트를 돌려줍니다.
 ByteBuffer encode (CharBuffer  in)
          단일의 입력 문자 버퍼의 컨텐츠를 새롭게 할당할 수 있었던 byte 버퍼내에 encode 하는 편리한 메소드입니다.
 CoderResult encode (CharBuffer  in, ByteBuffer  out, boolean endOfInput)
          지정된 입력 버퍼내의 문자를 최대한 encode 해, 지정된 출력 버퍼에 결과를 기입합니다.
protected abstract  CoderResult encodeLoop (CharBuffer  in, ByteBuffer  out)
          1 개이상의 문자 1 개 이상의 바이트에 encode 합니다.
 CoderResult flush (ByteBuffer  out)
          이 엔코더를 플래시 합니다.
protected  CoderResult implFlush (ByteBuffer  out)
          이 엔코더를 플래시 합니다.
protected  void implOnMalformedInput (CodingErrorAction  newAction)
          부정 입력 에러에 대한, 이 엔코더의 액션이 변경된 것을 보고합니다.
protected  void implOnUnmappableCharacter (CodingErrorAction  newAction)
          맵 불가 문자 에러에 대한, 이 엔코더의 액션이 변경된 것을 보고합니다.
protected  void implReplaceWith (byte[] newReplacement)
          이 엔코더의 대체치가 변경된 것을 보고합니다.
protected  void implReset ()
          이 엔코더를 리셋 해, 캐릭터 세트 고유의 내부 상태를 클리어 합니다.
 boolean isLegalReplacement (byte[] repl)
          지정된 바이트 배열이, 이 엔코더의 대체치로서 정당한가 어떤가를 판단합니다.
 CodingErrorAction malformedInputAction ()
          부정 입력 에러에 대한, 이 엔코더의 현재의 액션을 돌려줍니다.
 float maxBytesPerChar ()
          입력 문자 마다 생성되는 최대 바이트수를 돌려줍니다.
 CharsetEncoder onMalformedInput (CodingErrorAction  newAction)
          부정 입력 에러에 대한, 이 엔코더의 액션을 변경합니다.
 CharsetEncoder onUnmappableCharacter (CodingErrorAction  newAction)
          맵 불가 문자 에러에 대한, 이 엔코더의 액션을 변경합니다.
 byte[] replacement ()
          이 엔코더의 치환치를 돌려줍니다.
 CharsetEncoder replaceWith (byte[] newReplacement)
          이 엔코더의 대체치를 변경합니다.
 CharsetEncoder reset ()
          이 엔코더를 리셋 해, 내부 상태를 클리어 합니다.
 CodingErrorAction unmappableCharacterAction ()
          맵 불가 문자 에러에 대한, 이 엔코더의 현재의 액션을 돌려줍니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

CharsetEncoder

protected CharsetEncoder(Charset  cs,
                         float averageBytesPerChar,
                         float maxBytesPerChar,
                         byte[] replacement)
새로운 엔코더를 초기화합니다. 새로운 엔코더에는, 지정된 1 문자 당의 바이트수와 치환의 값이 포함됩니다.

파라미터:
averageBytesPerChar - 입력 문자 마다 생성되는 예상 바이트수를 나타내는 정의 float 치
maxBytesPerChar - 입력 문자 마다 생성되는 최대 바이트수를 나타내는 정의 float 치
replacement - 치환의 초기치. null 가 아니고, 길이가 1 이상 maxBytesPerChar 이하의 정당 인 값이 아니면 안된다
예외:
IllegalArgumentException - 상기의 파라미터의 전제 조건이 채워지지 않은 경우

CharsetEncoder

protected CharsetEncoder(Charset  cs,
                         float averageBytesPerChar,
                         float maxBytesPerChar)
새로운 엔코더를 초기화합니다. 새로운 엔코더에는 지정된 1 문자 당의 바이트 수치가 포함되어 그 치환 바이트 배열은 { (byte)'? ' } 가 됩니다.

파라미터:
averageBytesPerChar - 입력 문자 마다 생성되는 예상 바이트수를 나타내는 정의 float 치
maxBytesPerChar - 입력 문자 마다 생성되는 최대 바이트수를 나타내는 정의 float 치
예외:
IllegalArgumentException - 상기의 파라미터의 전제 조건이 채워지지 않은 경우
메소드의 상세

charset

public final Charset  charset()
이 엔코더를 작성한 캐릭터 세트를 돌려줍니다.

반환값:
이 엔코더의 캐릭터 세트

replacement

public final byte[] replacement()
이 엔코더의 치환치를 돌려줍니다.

반환값:
이 엔코더의 대체치 (null 이외, 빈 상태(empty)의 값 이외)

replaceWith

public final CharsetEncoder  replaceWith(byte[] newReplacement)
이 엔코더의 대체치를 변경합니다.

이 메소드는, 새로운 치환치가 조건에 맞고 있는 것을 확인한 데다가, 그 값을 지정해 implReplaceWith 메소드를 호출합니다.

파라미터:
newReplacement - 새로운 치환치. null 가 아니고, 길이가 1 이상으로 maxBytesPerChar 메소드의 반환값 이하의 정당 인 값이 아니면 안된다
반환값:
이 엔코더
예외:
IllegalArgumentException - 상기의 파라미터의 전제 조건이 채워지지 않은 경우

implReplaceWith

protected void implReplaceWith(byte[] newReplacement)
이 엔코더의 대체치가 변경된 것을 보고합니다.

이 메소드의 디폴트 구현에서는 어떤 처리도 행해지지 않습니다. 치환치의 변경 통지를 필요로 하는 엔코더에서는, 이 메소드를 오버라이드(override) 할 필요가 있습니다.

파라미터:
newReplacement -

isLegalReplacement

public boolean isLegalReplacement(byte[] repl)
지정된 바이트 배열이, 이 엔코더의 대체치로서 정당한가 어떤가를 판단합니다.

대체치는, 이 엔코더의 캐릭터 세트로 표현할 수 있는 정당한 바이트 순서인 경우, 즉, 이 값을 1 개 이상의 16 비트 Unicode 문자에 디코드할 수 있는 경우에 한해 정당합니다.

이 메소드의 디폴트 구현은 너무 효율이 좋지 않습니다. 일반적으로, 이 성능을 개선하기 위해서는, 오버라이드(override)가 필요합니다.

파라미터:
repl - 테스트하는 바이트 배열
반환값:
지정된 바이트 배열이 이 엔코더에 있어 정당한 대체치인 경우에 한해 true

malformedInputAction

public CodingErrorAction  malformedInputAction()
부정 입력 에러에 대한, 이 엔코더의 현재의 액션을 돌려줍니다.

반환값:
부정 입력 에러에 대한 현재의 액션 (null 이외)

onMalformedInput

public final CharsetEncoder  onMalformedInput(CodingErrorAction  newAction)
부정 입력 에러에 대한, 이 엔코더의 액션을 변경합니다.

이 메소드는, 새로운 액션을 지정해 implOnMalformedInput 메소드를 호출합니다.

파라미터:
newAction - 새로운 액션 (null 이외)
반환값:
이 엔코더
예외:
IllegalArgumentException - 상기의 파라미터의 전제 조건이 채워지지 않은 경우

implOnMalformedInput

protected void implOnMalformedInput(CodingErrorAction  newAction)
부정 입력 에러에 대한, 이 엔코더의 액션이 변경된 것을 보고합니다.

이 메소드의 디폴트 구현에서는 어떤 처리도 행해지지 않습니다. 부정 입력 에러에 대한 액션의 변경 통지를 필요로 하는 엔코더에서는, 이 메소드를 오버라이드(override) 할 필요가 있습니다.


unmappableCharacterAction

public CodingErrorAction  unmappableCharacterAction()
맵 불가 문자 에러에 대한, 이 엔코더의 현재의 액션을 돌려줍니다.

반환값:
맵 할 수 없는 문자 에러에 대한 현재의 액션 (null 이외)

onUnmappableCharacter

public final CharsetEncoder  onUnmappableCharacter(CodingErrorAction  newAction)
맵 불가 문자 에러에 대한, 이 엔코더의 액션을 변경합니다.

이 메소드는, 새로운 액션을 지정해 implOnUnmappableCharacter 메소드를 호출합니다.

파라미터:
newAction - 새로운 액션 (null 이외)
반환값:
이 엔코더
예외:
IllegalArgumentException - 상기의 파라미터의 전제 조건이 채워지지 않은 경우

implOnUnmappableCharacter

protected void implOnUnmappableCharacter(CodingErrorAction  newAction)
맵 불가 문자 에러에 대한, 이 엔코더의 액션이 변경된 것을 보고합니다.

이 메소드의 디폴트 구현에서는 어떤 처리도 행해지지 않습니다. 맵 불가 문자 에러에 대한 액션의 변경 통지를 필요로 하는 엔코더에서는, 이 메소드를 오버라이드(override) 할 필요가 있습니다.


averageBytesPerChar

public final float averageBytesPerChar()
입력 문자 마다 생성되는 평균 바이트수를 돌려줍니다. 이 값으로부터, 지정된 입력 순서에 필요한 출력 버퍼 사이즈의 견적을 할 수 있습니다.

반환값:
입력 문자 마다 생성되는 평균 바이트수

maxBytesPerChar

public final float maxBytesPerChar()
입력 문자 마다 생성되는 최대 바이트수를 돌려줍니다. 이 값으로부터, 지정된 입력 순서로 필요하게 되는 최대 출력 버퍼 사이즈의 견적을 할 수 있습니다.

반환값:
입력 문자 마다 생성되는 최대 바이트수

encode

public final CoderResult  encode(CharBuffer  in,
                                ByteBuffer  out,
                                boolean endOfInput)
지정된 입력 버퍼내의 문자를 최대한 encode 해, 지정된 출력 버퍼에 결과를 기입합니다.

버퍼에 대한 읽고 쓰기는, 각 버퍼의 현재 위치로부터 행해집니다. 읽어내지는 문자수는 많아서 in.remaining() 바이트, 기입해지는 바이트수는 많아서 out.remaining() 문자입니다. 버퍼의 위치는, 읽어내진 문자수 또는 기입해진 바이트수에 따라 증가합니다만, 마크와 리밋트는 그대로입니다.

이 메소드는, 입력 버퍼로부터의 문자의 read와 출력 버퍼에의 바이트의 기입에 가세해 종료의 이유를 설명하는 다음과 같은 CoderResult 객체를 돌려줍니다.

어느 경우도, 이 메소드를 같은 encode 처리 중(안)에서 재차 호출할 때는, 다음의 호출로 사용할 수 있도록(듯이), 입력 버퍼내의 문자를 보존할 필요가 있습니다.

endOfInput 파라미터는, 지정된 입력 버퍼에 호출해 원으로부터의 새로운 입력이 있을지 어떨지를 이 메소드에 통지합니다. 아직 입력의 가능성이 있는 경우, 호출원래는 이 파라미터에 false 를 건네줄 필요가 있습니다. 더 이상 입력의 가능성이 없는 경우는 true 를 건네줍니다. 호출원으로부터 false 를 건네준 후에 입력이 없었다고 해도, 문제는 없습니다. 그러나, calling sequence에 있어서의 마지막 호출에서는,true 를 건네주지 않으면 안됩니다. 이 이후, 아직 encode되어 있지 않은 입력은 「부정」이라고 보여지게 됩니다.

이 메소드는, 우선 encodeLoop 메소드를 호출합니다. 그 후, 그 결과를 해석해, 에러 조건의 처리를 끝마친 뒤, 필요에 따라서 재차 그 메소드를 호출합니다.

파라미터:
in - 입력 문자 버퍼
out - 출력 byte 버퍼
endOfInput - 호출원이 지정된 버퍼에 더 이상의 입력 문자를 추가할 가능성이 없는 경우에 한해 true
반환값:
종료의 원인을 설명하는 coder-result 객체
예외:
IllegalStateException - encode 처리가 벌써 진행중이며, 그 직전의 처리가 reset 메소드의 호출에서도,endOfInput 파라미터에 false 를 지정한 이 메소드의 호출에서도,endOfInput 파라미터에 true 를 지정한 이 메소드의 호출도 아닌데, encode 처리가 불완전한 것을 나타내는 반환값이 돌려주어졌을 경우
CoderMalfunctionError - encodeLoop 메소드의 호출에 의해 예상외의 예외가 throw 되었을 경우

flush

public final CoderResult  flush(ByteBuffer  out)
이 엔코더를 플래시 합니다.

내부 상태를 보관 유지하는 일부의 엔코더는, 입력 순서의 read가 완료한 시점에서, 출력 버퍼에 끝 바이트를 기입할 필요가 있습니다.

추가의 출력은, 출력 버퍼의 현재 위치에 기입해집니다. 기입해지는 바이트수는 많아서 out.remaining() 바이트입니다. 버퍼의 위치는 이 바이트수에 따라 증가합니다만, 마크와 리밋트는 그대로입니다.

이 메소드는, 정상적으로 종료했을 경우 CoderResult.UNDERFLOW 를 돌려줍니다. 출력 버퍼의 용량이 부족했을 경우는 CoderResult.OVERFLOW 를 돌려줍니다. CoderResult.OVERFLOW 가 돌려주어졌을 경우는, 보다 많은 빈영역을 가지는 출력 버퍼를 지정해 이 메소드를 재차 호출해, 이encode 처리를 완료시킬 필요가 있습니다.

이 엔코더의 플래시 후에 이 메소드를 호출해도, 무슨 효과도 없습니다.

이 메소드는,implFlush 메소드를 호출하는 것으로, 실제의 플래시 처리를 실시합니다.

파라미터:
out - 출력 byte 버퍼
반환값:
CoderResult 객체. CoderResult.UNDERFLOW 또는 CoderResult.OVERFLOW
예외:
IllegalStateException - 현재의 encode 처리의 직전의 처리가,flush 메소드의 호출에서도,endOfInput 파라미터에 true 를 지정한 3 개의 인수를 가지는 encode 메소드의 호출도 아닌 경우

implFlush

protected CoderResult  implFlush(ByteBuffer  out)
이 엔코더를 플래시 합니다.

이 메소드의 디폴트 구현은, 어떤 처리도 실시하지 않고, 항상 CoderResult.UNDERFLOW 를 돌려줍니다. 입력 순서의 read 완료 후에 출력 버퍼에 마지막 바이트를 기입할 필요가 있는 엔코더에서는, 이 메소드를 오버라이드(override) 할 필요가 있습니다.

파라미터:
out - 출력 byte 버퍼
반환값:
CoderResult 객체. CoderResult.UNDERFLOW 또는 CoderResult.OVERFLOW

reset

public final CharsetEncoder  reset()
이 엔코더를 리셋 해, 내부 상태를 클리어 합니다.

이 메소드는, 캐릭터 세트에 의존하지 않는 상태를 리셋 합니다. 또, 캐릭터 세트 고유의 리셋 액션을 실행하기 위해서, implReset 메소드도 호출합니다.

반환값:
이 엔코더

implReset

protected void implReset()
이 엔코더를 리셋 해, 캐릭터 세트 고유의 내부 상태를 클리어 합니다.

이 메소드의 디폴트 구현에서는 어떤 처리도 행해지지 않습니다. 내부 상태를 보관 유지하는 엔코더에서는, 이 메소드를 오버라이드(override) 할 필요가 있습니다.


encodeLoop

protected abstract CoderResult  encodeLoop(CharBuffer  in,
                                          ByteBuffer  out)
1 개 이상의 문자 1 개 이상의 바이트에 encode 합니다.

이 메소드는, 기본적인 encode 루프를 캡슐화해, 입력이 없어지는지, 출력 버퍼의 용량이 부족하는지, 또는 encode 에러가 발생할 때까지 최대한의 문자를 encode 합니다. 이 메소드는, 결과 해석과 에러 복구를 실시하는 encode 메소드에 의해 불려 갑니다.

버퍼에 대한 읽고 쓰기는, 각 버퍼의 현재 위치로부터 행해집니다. 읽어내지는 문자수는 많아서 in.remaining() 바이트, 기입해지는 바이트수는 많아서 out.remaining() 문자입니다. 버퍼의 위치는, 읽어내진 문자수 또는 기입해진 바이트수에 따라 증가합니다만, 마크와 리밋트는 그대로입니다.

이 메소드는,encode 메소드와 같게, 종료의 이유를 기술한 CoderResult 객체를 돌려줍니다. 이 메소드의 구현의 대부분은,encode 메소드에서의 해석에 필요한 결과 객체를 돌려주는 것으로, encode 에러를 처리합니다. 이것에 대해, 최적화된 구현은, 관련 에러 액션을 조사해 그 액션을 자신으로 실행할 가능성도 있습니다.

이 메소드의 구현에 따라서는, 충분한 양의 입력을 받을 때까지 임의의 전방 검색을 실시해,CoderResult.UNDERFLOW 를 계속 돌려줄 가능성이 있습니다.

파라미터:
in - 입력 문자 버퍼
out - 출력 byte 버퍼
반환값:
종료의 원인을 설명하는 coder-result 객체

encode

public final ByteBuffer  encode(CharBuffer  in)
                        throws CharacterCodingException 
단일의 입력 문자 버퍼의 컨텐츠를 새롭게 할당할 수 있었던 byte 버퍼내에 encode 하는 편리한 메소드입니다.

이 메소드는,encode 처리 전체를 구현하고 있습니다. 즉, 이 메소드는, 이 엔코더를 리셋 한 뒤, 지정된 문자 버퍼내의 문자를 encode 해, 마지막에 이 엔코더를 플래시 합니다. 따라서, encode 처리가 벌써 진행중의 경우는, 이 메소드를 호출하지 말아 주세요.

파라미터:
in - 입력 문자 버퍼
반환값:
encode 처리의 결과를 포함하는, 새롭게 할당할 수 있었던 byte 버퍼. 버퍼 위치는 제로로, 리밋트는 마지막에 기입해진 바이트에 의해 결정된다
예외:
IllegalStateException - encode 처리가 벌써 진행중인 경우
MalformedInputException - 입력 버퍼의 현재 위치로부터 시작되는 문자 순서가 정당한 16 비트 Unicode 순서가 아니고, 부정 입력 에러에 대한 액션이 CodingErrorAction.REPORT 인 경우
UnmappableCharacterException - 입력 버퍼의 현재 위치로부터 시작되는 문자 순서를 동등의 바이트 순서에 맵 하지 못하고, 맵 할 수 없는 문자 에러에 대한 액션이 CodingErrorAction.REPORT 인 경우
CharacterCodingException

canEncode

public boolean canEncode(char c)
이 엔코더가 지정된 문자를 encode 할 수 있을지 어떨지를 판단합니다.

지정된 문자가 surrogate 문자인 경우, 이 메소드는 false 를 돌려줍니다. surrogate 문자를 해석할 수 있는 것은, 상위 surrogate의 후에 하위 surrogate가 계속되는 형태의 페어가 되어 있는 경우만입니다. 문자 순서의 encode가 가능한지 어떤지는,canEncode(CharSequence) 메소드를 사용해 테스트할 수 있습니다. 이 메소드는, 이 엔코더 상태를 변경합니다.

이 메소드는, 이 엔코더 상태를 변경합니다. 벌써encode 처리가 진행되고 있는 경우는, 이 메소드를 호출하지 말아 주세요.

이 메소드의 디폴트 구현은 너무 효율이 좋지 않습니다. 일반적으로, 이 성능을 개선하기 위해서는, 오버라이드(override)가 필요합니다.

반환값:
이 엔코더가 지정된 문자를 encode 할 수 있는 경우에 한해 true
예외:
IllegalStateException - encode 처리가 벌써 진행중인 경우

canEncode

public boolean canEncode(CharSequence  cs)
이 엔코더가 지정된 문자 순서를 encode 할 수 있을지 어떨지를 판단합니다.

이 메소드가 특정의 문자 순서에 대해서 false 를 돌려주는 경우는,encode 처리를 모두 실행하면, 순서가 encode 되지 않는 이유를 자세하게 조사할 수가 있습니다.

이 메소드는, 이 엔코더 상태를 변경합니다. 벌써 encode 처리가 진행되고 있는 경우는, 이 메소드를 호출하지 말아 주세요.

이 메소드의 디폴트 구현은 너무 효율이 좋지 않습니다. 일반적으로, 이 성능을 개선하기 위해서는, 오버라이드(override)가 필요합니다.

반환값:
이 엔코더가, 예외의 throw나 대체 처리의 실행없이 지정된 문자를 encode 할 수 있는 경우에 한해 true
예외:
IllegalStateException - encode 처리가 벌써 진행중인 경우

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 도 참조해 주세요.