JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.nio.charset
클래스 CharsetEncoder

java.lang.Object 
  |
  +--java.nio.charset.CharsetEncoder

public abstract class CharsetEncoder
extends Object

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

입력 바이트 순차 순서는 char 버퍼등의 버퍼로부터 건네받습니다. 출력 캐릭터 순차 순서는 byte 버퍼등의 버퍼에 기입해집니다. 엔코더는 반드시 다음의 메소드 calling sequence (이하 「encode 처리」)의 나중에 사용해 주세요.

  1. 처음으로 사용할 때는 reset 메소드를 사용해 엔코더를 리셋트 합니다.

  2. 추가의 입력이 없어질 때까지 반복 encode 메소드를 호출합니다. endOfInput 인수에 false 를 건네주어, 입력 버퍼를 저장해, 다음의 호출전에 출력 버퍼를 플래시 합니다.

  3. encode 멧소드의 호출을 종료할 때는 endOfInput 인수에 true 를 건네줍니다.

  4. 엔코더가 내부 상태를 출력 버퍼에 플래시 할 수 있게flush 메소드를 호출합니다.

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

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

encode 에러는 그 종류의 에러에 대해서 요구된 액션에 따라 처리됩니다. 이러한 액션은 CodingErrorAction 클래스의 인스턴스에 기술되고 있습니다. 예를 들어, 부정 입력의무시 ,CoderResult 오브젝트에 의한 호출 원래로의보고 , 부정 입력 내용을 대체 바이트 배열의 현재가에치환 이라고 하는 액션이 있습니다. 대체치는 최초, 엔코더의 디폴트의 값으로 설정되어 있습니다. 이 값은 많은 경우,{ (byte)'? ' } 라고 하는 초기치를 가지고 있습니다만,replaceWith 메소드를 사용해 다른 값으로 변경할 수도 있습니다.

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

이 클래스는 에러 액션의 구현을 시작으로 하는 encode 처리의 다양한 부분을 처리하도록(듯이) 설계되고 있습니다. 특정의 캐릭터 세트용의 엔코더는 이 클래스의 구상 서브 클래스이므로, 표준 encode 루프를 캡슐화하는 추상 메소드,encodeLoop 를 구현하는 것만으로 끝납니다. 내부 상태를 보관 유지하는 서브 클래스는 이것에 가세해,flush 메소드와 reset 메소드를 오버라이드(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)
          단일의 입력 char 버퍼의 컨텐츠를 새롭게 할당할 수 있었던 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)
          MAP 불가 캐릭터 에러에 대한, 이 엔코더의 액션이 변경된 것을 보고합니다.
protected  void implReplaceWith (byte[] newReplacement)
          이 엔코더의 대체치가 변경된 것을 보고합니다.
protected  void implReset ()
          이 엔코더를 리셋트 해, 캐릭터 세트 고유의 내부 상태를 클리어 합니다.
 boolean isLegalReplacement (byte[] repl)
          지정된 바이트 배열이, 이 엔코더의 대체치로서 정당한가 어떤가를 판단합니다.
 CodingErrorAction malformedInputAction ()
          부정 입력 에러에 대한, 이 엔코더의 현재의 액션을 돌려줍니다.
 float maxBytesPerChar ()
          입력 캐릭터 마다 생성되는 최대 바이트수를 돌려줍니다.
 CharsetEncoder onMalformedInput (CodingErrorAction  newAction)
          부정 입력 에러에 대한, 이 엔코더의 액션을 변경합니다.
 CharsetEncoder onUnmappableCharacter (CodingErrorAction  newAction)
          MAP 불가 캐릭터 에러에 대한, 이 엔코더의 액션을 변경합니다.
 byte[] replacement ()
          이 엔코더의 대체치를 돌려줍니다.
 CharsetEncoder replaceWith (byte[] newReplacement)
          이 엔코더의 대체치를 변경합니다.
 CharsetEncoder reset ()
          이 엔코더를 리셋트 해, 내부 상태를 클리어 합니다.
 CodingErrorAction unmappableCharacterAction ()
          MAP 불가 캐릭터 에러에 대한, 이 엔코더의 현재의 액션을 돌려줍니다.
 
클래스 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)
새로운 엔코더를 초기화합니다. 새로운 엔코더는 지정된 캐릭터마다의 바이트와 대체치를 보관 유지합니다.

파라미터:
averageBytesPerChar - 입력 캐릭터 마다 생성되는 기대 바이트수를 나타내는 정의 float 치
maxBytesPerChar - 입력 캐릭터 마다 생성되는 바이트수의 최대치를 나타내는 정의 float 치
replacement - 대체치의 초기치 (null 이외, 제로가 아닌 길이 한편 maxBytesPerChar 이하의정당한 값)
예외:
IllegalArgumentException - 상기의 파라미터의 전제 조건이 채워지지 않은 경우

CharsetEncoder

protected CharsetEncoder(Charset  cs,
                         float averageBytesPerChar,
                         float maxBytesPerChar)
새로운 엔코더를 초기화합니다. 새로운 엔코더는 캐릭터 마다 생성된 바이트의 값과 대체 바이트 배열 { (byte)'? ' } 를 돌려줍니다.

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

charset

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

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

replacement

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

반환값:
이 엔코더의 대체치 (null 이외, 하늘의 값 이외)

replaceWith

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

이 메소드는 implReplaceWith 메소드를 호출해, 새로운 대체치가 조건에 맞고 있는 것을 확인한 데다가, 이 값을 건네줍니다.

파라미터:
newReplacement - 새로운 대체치 (null 이외, 제로 이외의 길이 한편 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()
MAP 불가 캐릭터 에러에 대한, 이 엔코더의 현재의 액션을 돌려줍니다.

반환값:
MAP 불가 캐릭터 에러에 대한 현재의 액션 (null 이외)

onUnmappableCharacter

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

이 메소드는 implOnUnmappableCharacter 메소드를 호출해, 새로운 액션을 건네줍니다.

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

implOnUnmappableCharacter

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

이 메소드의 디폴트 구현은 어떤 처리도 실시하지 않습니다. 이 메소드는 MAP 불가 캐릭터 에러에 대한 액션의 변경 통지를 요구하는 엔코더에 의해 오버라이드(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 - 입력 char 버퍼
out - 출력 byte 버퍼
endOfInput - 호출원이 지정된 버퍼에 더 이상의 입력 캐릭터를 추가할 가능성이 없는 경우에 한해 true
반환값:
종료의 원인을 설명하는 Coder Result 오브젝트
예외:
IllegalStateException - encode 처리가 벌써 진행중이며, 그 직전의 처리가 reset 메소드의 호출에서도,endOfInput 파라미터에 false 를 지정한 이 메소드의 호출에서도,endOfInput 파라미터에 true 를 지정한 이 메소드의 호출도 아닌데, encode 처리가 불완전한 것을 나타내는 반환값이 돌려주어졌을 경우
CoderMalfunctionError - encodeLoop 메소드의 호출에 의해 예상외의 예외가 슬로우 되었을 경우

flush

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

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

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

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

이 메소드는 implFlush 메소드를 호출해, 실제로 플래시를 실시합니다.

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

implFlush

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

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

파라미터:
out - 출력 byte 버퍼
반환값:
Coder Result 오브젝트 (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 에러가 발생하면(자) 종료합니다. 이 메소드는 결과 해석과 에러 복구 처리를 실시하는 encode 메소드에 의해 불려 갑니다.

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

이 메소드는 encode 메소드와 같게, 종료의 원인을 설명하는 CoderResult 오브젝트를 돌려줍니다. 이 메소드의 구현의 상당수는 encode 메소드에 의해 해석되는 적절한 결과 오브젝트를 돌려주는 것으로, encode 에러를 처리합니다. 이것에 대해서, 최적화된 구현은 관련 에러 액션을 조사해, 그 액션 자체를 구현합니다.

이 메소드의 구현은 필요한 입력을 받을 때까지 임의의 전방 검색을 실시합니다. 검색중은 CoderResult.UNDERFLOW 를 돌려줍니다.

파라미터:
in - 입력 char 버퍼
out - 출력 byte 버퍼
반환값:
종료의 원인을 설명하는 Coder Result 오브젝트

encode

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

이 메소드에서는 모든encode 처리가 실행됩니다. 즉, 이 메소드를 실행하면(자), 엔코더가 리셋트 되어 지정된 char 버퍼내의 캐릭터가 encode 되어 마지막에 엔코더가 플래시 됩니다. encode 처리가 현재 진행중의 경우는 이 메소드를 호출하지 말아 주세요.

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

canEncode

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

지정된 캐릭터가 사로 게이트 캐릭터인 경우, 이 메소드는 false 를 돌려줍니다. 사로 게이트 캐릭터는 상위 사로 게이트와 하위 사로 게이트의 편성이 모이지 않으면 해석할 수 없습니다. 캐릭터 순차 순서의 encode가 가능한지 어떤지는 canEncode(CharSequence) 메소드를 사용해 테스트할 수 있습니다.

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

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

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

canEncode

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

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

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

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

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

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

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

Java, Java 2 D, 및 JDBC 는 미국 및 그 외의 나라에 있어서의 미국 Sun Microsystems, Inc. 의 상표 혹은 등록상표입니다.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.