public abstract class CharsetEncoder extends Object
å ¥åæåã·ãŒã±ã³ã¹ã¯ãåäžã®æåãããã¡ãŸãã¯äžé£ã®æåãããã¡ãšããŠæäŸãããŸãã åºåãã€ãã»ã·ãŒã±ã³ã¹ã¯ãåäžã®byteãããã¡ãŸãã¯äžé£ã®byteãããã¡ã«æžã蟌ãŸããŸãã ãšã³ã³ãŒãã䜿çšããéã«ã¯ãå¿ ãæ¬¡ã®ã¡ãœããåŒåºãæé (以äžããšã³ã³ãŒãåŠç)ã«åŸã£ãŠãã ããã
ãšã³ã³ãŒããã¯ãããŠäœ¿çšããå Žå以å€ã¯ãresetã¡ãœããã䜿çšããŠãšã³ã³ãŒãããªã»ããããŸãã
远å å
¥åãããéãencodeã¡ãœããã0å以äžåŒã³åºããååŒåºãã®éã«endOfInputåŒæ°ã«falseãæž¡ããå
¥åãããã¡ã«ããŒã¿ãæ ŒçŽããåºåãããã¡ããã©ãã·ã¥ããŸãã
encodeã¡ãœãããæåŸã«1ååŒã³åºããendOfInputåŒæ°ã«trueãæž¡ããŸãã
ãšã³ã³ãŒããå
éšç¶æ
ãåºåãããã¡ãžãã©ãã·ã¥ã§ããããã«ãflushã¡ãœãããåŒã³åºããŸãã
encodeã¡ãœãããåŒã³åºããã³ã«ãå
¥åãããã¡å
ã®æåããã€ãã«ãšã³ã³ãŒããããåºåãããã¡ã«æžã蟌ãŸããŸãã æ°ããªå
¥åèŠæ±ãåãåã£ãããåºåãããã¡ã®å®¹éãäžè¶³ãããããšã³ã³ãŒãã»ãšã©ãŒãçºçããããããšãencodeã¡ãœããã¯çµäºããŸãã ãããã®å Žåã§ããçµäºã®çç±ã説æããããã«CoderResultãªããžã§ã¯ããè¿ãããŸãã åŒåºãå
ã¯ããã®ãªããžã§ã¯ãã確èªããŠãå
¥åãããã¡ããã£ã±ãã«ããããåºåãããã¡ããã©ãã·ã¥ãããããšã³ã³ãŒãã»ãšã©ãŒããã®å埩åŠçãå®è¡ããŠãåŒåºããå詊è¡ããŸãã
ãšã³ã³ãŒãã»ãšã©ãŒã«ã¯äžè¬çãª2çš®é¡ã®ãšã©ãŒããããŸãã å ¥åæåã·ãŒã±ã³ã¹ãæ£åœãª16ãããUnicodeã·ãŒã±ã³ã¹ã§ãªãå Žåã¯ãäžæ£å ¥åãšã©ãŒãçºçããŸãã å ¥åæåã·ãŒã±ã³ã¹ã¯æ£åœã§ãããããæå®ãããæåã»ããå ã®æå¹ãªãã€ãã»ã·ãŒã±ã³ã¹ã«ãããã§ããªãå Žåã¯ããããäžå¯æåãšã©ãŒãçºçããŸãã
ç¹å®ã®ãšã³ã³ãŒãã»ãšã©ãŒãã©ã®ããã«åŠçããããã¯ããã®çš®é¡ã®ãšã©ãŒã«å¯ŸããŠèŠæ±ãããã¢ã¯ã·ã§ã³ã«ãã£ãŠæ±ºãŸããŸãããããã®ã¢ã¯ã·ã§ã³ã¯ãCodingErrorActionã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ã«ãã£ãŠèšè¿°ãããŸãã å©çšå¯èœãªãšã©ãŒã»ã¢ã¯ã·ã§ã³ã¯ããšã©ãŒå
¥åã®ç¡èŠãæ»ãå€ã®CoderResultãªããžã§ã¯ããçµç±ããåŒåºãå
ãžã®ãšã©ãŒã®å ±åããŸãã¯çŸåšã®çœ®æãã€ãé
åå€ã«ãããšã©ãŒå
¥åã®çœ®æã§ãã 眮æå€ã¯ããŸããšã³ã³ãŒãã®ããã©ã«ãã®çœ®æå€ã«èšå®ãããŸãããã®åæå€ã¯éåžžã{ (byte)'?' }ã§ããããããªããªãå ŽåããããŸãããã®å€ã¯ãreplaceWithã¡ãœããã䜿çšããŠå€æŽã§ããŸãã
å
¥å圢åŒãæ£ãããªããšã©ãŒããããäžå¯æåãšã©ãŒãçºçããå Žåãããã©ã«ãã®ã¢ã¯ã·ã§ã³ãšããŠããããã®ãšã©ãŒã®å ±åãè¡ãããŸãã å
¥å圢åŒãæ£ãããªããšã©ãŒã«å¯Ÿããã¢ã¯ã·ã§ã³ã倿Žããå Žåã¯onMalformedInputã¡ãœãããããããäžå¯æåãšã©ãŒã«å¯Ÿããã¢ã¯ã·ã§ã³ã倿Žããå Žåã¯onUnmappableCharacterã¡ãœãããããããã䜿çšããŸãã
ãã®ã¯ã©ã¹ã¯ããšã©ãŒã»ã¢ã¯ã·ã§ã³ã®å®è£
ãã¯ãããšãããšã³ã³ãŒãåŠçã®è©³çްã®å€ããåŠçããããã«èšèšãããŠããŸãã ç¹å®ã®æåã»ããã«å¯Ÿãããšã³ã³ãŒã(ãã®ã¯ã©ã¹ã®å
·è±¡ãµãã¯ã©ã¹)ãå®è£
ããå¿
èŠãããã®ã¯ãæšæºãšã³ã³ãŒãã»ã«ãŒããã«ãã»ã«åããæœè±¡ã¡ãœããencodeLoopã ãã§ãã ããã«å ããå
éšç¶æ
ãä¿æãããµãã¯ã©ã¹ã¯ãimplFlushã¡ãœãããšimplResetã¡ãœããããªãŒããŒã©ã€ãããå¿
èŠããããŸãã
ãã®ã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ã¯ãè€æ°ã®ã¹ã¬ããã§äžŠè¡ããŠäœ¿çšããããšã¯ã§ããŸããã
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) |
ãã®ãšã³ã³ãŒããæå®ãããæåããšã³ã³ãŒãã§ãããã©ããã倿ããŸãã
|
boolean |
canEncode(CharSequence cs) |
ãã®ãšã³ã³ãŒããæå®ãããæåã·ãŒã±ã³ã¹ããšã³ã³ãŒãã§ãããã©ããã倿ããŸãã
|
Charset |
charset() |
ãã®ãšã³ã³ãŒããäœæããæåã»ãããè¿ããŸãã
|
ByteBuffer |
encode(CharBuffer in) |
åäžã®å
¥åæåãããã¡ã®ã³ã³ãã³ããæ°ããå²ãåœãŠãããbyteãããã¡å
ã«ãšã³ã³ãŒãããç°¡æã¡ãœããã§ãã
|
CoderResult |
encode(CharBuffer in, ByteBuffer out, boolean endOfInput) |
æå®ãããå
¥åãããã¡å
ã®æåãæå€§éãšã³ã³ãŒãããæå®ãããåºåãããã¡ã«çµæãæžã蟌ã¿ãŸãã
|
protected abstract CoderResult |
encodeLoop(CharBuffer in, ByteBuffer out) |
1å以äžã®æå1å以äžã®ãã€ããžãšã³ã³ãŒãããŸãã
|
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() |
ãããäžå¯æåãšã©ãŒã«å¯Ÿããããã®ãšã³ã³ãŒãã®çŸåšã®ã¢ã¯ã·ã§ã³ãè¿ããŸãã
|
protected CharsetEncoder(Charset cs, float averageBytesPerChar, float maxBytesPerChar, byte[] replacement)
cs - ãã®ãšã³ã³ãŒããäœæããæåã»ããaverageBytesPerChar - å
¥åæåããšã«çæãããäºæ³ãã€ãæ°ãç€ºãæ£ã®floatå€maxBytesPerChar - å
¥åæåããšã«çæãããæå€§ãã€ãæ°ãç€ºãæ£ã®floatå€replacement - 眮æã®åæå€ãnullã§ãªããé·ãã1以äžmaxBytesPerChar以äžã®æ£åœãªå€ã§ãªããã°ãªããªããIllegalArgumentException - äžèšã®ãã©ã¡ãŒã¿ã®åææ¡ä»¶ãæºããããŠããªãå Žåprotected CharsetEncoder(Charset cs, float averageBytesPerChar, float maxBytesPerChar)
cs - ãã®ãšã³ã³ãŒããäœæããæåã»ããaverageBytesPerChar - å
¥åæåããšã«çæãããäºæ³ãã€ãæ°ãç€ºãæ£ã®floatå€maxBytesPerChar - å
¥åæåããšã«çæãããæå€§ãã€ãæ°ãç€ºãæ£ã®floatå€IllegalArgumentException - äžèšã®ãã©ã¡ãŒã¿ã®åææ¡ä»¶ãæºããããŠããªãå Žåpublic final Charset charset()
public final byte[] replacement()
public final CharsetEncoder replaceWith(byte[] newReplacement)
ãã®ã¡ãœããã¯ãæ°ãã眮æå€ãæ¡ä»¶ã«åã£ãŠããããšã確èªããããã§ããã®å€ãæž¡ããŠimplReplaceWithã¡ãœãããåŒã³åºããŸãã
newReplacement - 眮æå€ãæ°ãã眮æå€ãnullã§ãªããé·ãã1以äžã§maxBytesPerCharã¡ãœããã®æ»ãå€ä»¥äžã®æ£åœãªå€ã§ãªããã°ãªããªãIllegalArgumentException - äžèšã®ãã©ã¡ãŒã¿ã®åææ¡ä»¶ãæºããããŠããªãå Žåprotected void implReplaceWith(byte[] newReplacement)
ãã®ã¡ãœããã®ããã©ã«ãå®è£ ã§ã¯äœã®åŠçãè¡ãããŸããã 眮æå€ã®å€æŽéç¥ãå¿ èŠãšãããšã³ã³ãŒãã§ã¯ããã®ã¡ãœããããªãŒããŒã©ã€ãããå¿ èŠããããŸãã
newReplacement - 代æ¿å€public boolean isLegalReplacement(byte[] repl)
眮æå€ã¯ããã®ãšã³ã³ãŒãã®æåã»ããã§è¡šçŸã§ããæ£åœãªãã€ãã»ã·ãŒã±ã³ã¹ã§ããå Žåãããªãã¡ããã®å€ã1å以äžã®16ãããUnicodeæåã«ãã³ãŒãã§ããå Žåã«ãããæ£åœã§ãã
ãã®ã¡ãœããã®ããã©ã«ãå®è£ ã¯ããŸãå¹çããããããŸãããéåžžããã®æ§èœãæ¹åããããã«ã¯ããªãŒããŒã©ã€ããå¿ èŠã§ãã
repl - ãã¹ããããã€ãé
åpublic CodingErrorAction malformedInputAction()
public final CharsetEncoder onMalformedInput(CodingErrorAction newAction)
ãã®ã¡ãœããã¯ãæ°ããã¢ã¯ã·ã§ã³ãæž¡ããŠimplOnMalformedInputã¡ãœãããåŒã³åºããŸãã
newAction - æ°ããã¢ã¯ã·ã§ã³(null以å€)IllegalArgumentException - äžèšã®ãã©ã¡ãŒã¿ã®åææ¡ä»¶ãæºããããŠããªãå Žåprotected void implOnMalformedInput(CodingErrorAction newAction)
ãã®ã¡ãœããã®ããã©ã«ãå®è£ ã§ã¯äœã®åŠçãè¡ãããŸããã äžæ£å ¥åãšã©ãŒã«å¯Ÿããã¢ã¯ã·ã§ã³ã®å€æŽéç¥ãå¿ èŠãšãããšã³ã³ãŒãã§ã¯ããã®ã¡ãœããããªãŒããŒã©ã€ãããå¿ èŠããããŸãã
newAction - æ°ããã¢ã¯ã·ã§ã³public CodingErrorAction unmappableCharacterAction()
public final CharsetEncoder onUnmappableCharacter(CodingErrorAction newAction)
ãã®ã¡ãœããã¯ãæ°ããã¢ã¯ã·ã§ã³ãæž¡ããŠimplOnUnmappableCharacterã¡ãœãããåŒã³åºããŸãã
newAction - æ°ããã¢ã¯ã·ã§ã³(null以å€)IllegalArgumentException - äžèšã®ãã©ã¡ãŒã¿ã®åææ¡ä»¶ãæºããããŠããªãå Žåprotected void implOnUnmappableCharacter(CodingErrorAction newAction)
ãã®ã¡ãœããã®ããã©ã«ãå®è£ ã§ã¯äœã®åŠçãè¡ãããŸããã ãããäžå¯æåãšã©ãŒã«å¯Ÿããã¢ã¯ã·ã§ã³ã®å€æŽéç¥ãå¿ èŠãšãããšã³ã³ãŒãã§ã¯ããã®ã¡ãœããããªãŒããŒã©ã€ãããå¿ èŠããããŸãã
newAction - æ°ããã¢ã¯ã·ã§ã³public final float averageBytesPerChar()
public final float maxBytesPerChar()
public final CoderResult encode(CharBuffer in, ByteBuffer out, boolean endOfInput)
ãããã¡ã«å¯Ÿããèªæžãã¯ãåãããã¡ã®çŸåšäœçœ®ããè¡ãããŸãã èªã¿åãããæåæ°ã¯å€ããŠin.remaining()æåãæžã蟌ãŸãããã€ãæ°ã¯å€ããŠout.remaining()ãã€ãã§ãã ãããã¡ã®äœçœ®ã¯ãèªã¿åãããæåæ°ãŸãã¯æžã蟌ãŸãããã€ãæ°ã«åŸã£ãŠå¢å ããŸãããããŒã¯ãšãªãããã¯ãã®ãŸãŸã§ãã
ãã®ã¡ãœããã¯ãå
¥åãããã¡ããã®æåã®èªã¿èŸŒã¿ãšåºåãããã¡ãžã®ãã€ãã®æžèŸŒã¿ã«å ããçµäºã®çç±ã説æããæ¬¡ã®ãããªCoderResultãªããžã§ã¯ããè¿ããŸãã
CoderResult.UNDERFLOWã¯ãå
¥åãããã¡å
ã®æåãæå€§éãšã³ã³ãŒããããããšã瀺ããŸãã ãã以äžå
¥åããªãå ŽåãåŒåºãå
ã¯ãšã³ã³ãŒãåŠçã®æ¬¡ã®ã¹ãããã«é²ãããšãã§ããŸãã ãã以å€ã®å Žåãããã«å
¥åããŒã¿ãæºåããŠããã®ã¡ãœãããå床åŒã³åºãå¿
èŠããããŸãã
CoderResult.OVERFLOWã¯ãåºåãããã¡ã®å®¹éãäžè¶³ããŠããŠãããä»¥äžæåããšã³ã³ãŒãã§ããªãããšã瀺ããŸãã æ®ãã®ãã€ãæ°ãå€ãåºåãããã¡ãæå®ããŠããã®ã¡ãœãããå床åŒã³åºãå¿
èŠããããŸãã ãã®ããã«ã¯éåžžãåºåãããã¡ã«å
¥ã£ãŠãããšã³ã³ãŒãæžã¿ã®ãã€ããæåºããŸãã
å
¥å圢åŒãæ£ãããªãçµæã¯ãå
¥å圢åŒãæ£ãããªããšã©ãŒãæ€åºãããããšã瀺ããŸãã 圢åŒãäžæ£ãªæåã¯ãå
¥åãããã¡ã®äœçœ®(äœçœ®ã®å€ãå¢å ããŠããå¯èœæ§ããã)ããå§ãŸããŸãã圢åŒãäžæ£ãªæåæ°ã¯ãçµæãªããžã§ã¯ãã®lengthã¡ãœãããåŒã³åºãããšã§ç¹å®ã§ããŸãã ãã ãããããåœãŠã¯ãŸãã®ã¯ããã®ãšã³ã³ãŒãã®åœ¢åŒäžæ£å
¥åãšã©ãŒã«å¯Ÿããã¢ã¯ã·ã§ã³ãCodingErrorAction.REPORTã§ããå Žåã«éãããŸãããã以å€ã®å Žåã圢åŒäžæ£å
¥åã¯èŠæ±ã«å¿ããŠç¡èŠãããããå¥ã®å€ã«çœ®æãããŸãã
ãããäžå¯æåçµæã¯ããããäžå¯æåãšã©ãŒãæ€åºãããããšã瀺ããŸãã ãããäžå¯æåããšã³ã³ãŒãããæåã¯ãå
¥åãããã¡ã®äœçœ®(äœçœ®ã®å€ãå¢å ããŠããå¯èœæ§ããã)ããå§ãŸããŸãããã®æåæ°ã¯ãçµæãªããžã§ã¯ãã®lengthã¡ãœãããåŒã³åºãããšã§ç¹å®ã§ããŸãã ãã ãããããåœãŠã¯ãŸãã®ã¯ããã®ãšã³ã³ãŒãã®ãããäžå¯æåãšã©ãŒã«å¯Ÿããã¢ã¯ã·ã§ã³ãCodingErrorAction.REPORTã§ããå Žåã«éãããŸãããã以å€ã®å Žåããããäžå¯æåã¯èŠæ±ã«å¿ããŠç¡èŠãããããå¥ã®å€ã«çœ®æãããŸãã
endOfInputãã©ã¡ãŒã¿ã¯ãæå®ãããå ¥åãããã¡ã«åŒåºãå ããã®æ°ããªå ¥åããããã©ããããã®ã¡ãœããã«éç¥ããŸãã ãŸã å ¥åã®å¯èœæ§ãããå ŽåãåŒåºãå ã¯ãã®ãã©ã¡ãŒã¿ã«falseãæž¡ãå¿ èŠããããŸãããã以äžå ¥åã®å¯èœæ§ããªãå Žåã¯trueãæž¡ããŸãã åŒåºãå ããfalseãæž¡ããããšã§å ¥åããªãã£ããšããŠããåé¡ã¯ãããŸããã ããããåŒåºãã·ãŒã±ã³ã¹ã«ããããã®ã¡ãœããã®æåŸã®åŒåºãã§ã¯ãtrueãæž¡ããªããã°ãããŸããããã以éããŸã ãšã³ã³ãŒããããŠããªãå ¥åã¯ãäžæ£å ¥åããšèŠãªãããããã«ãªããŸãã
ãã®ã¡ãœããã¯ããŸãencodeLoopã¡ãœãããåŒã³åºããŸãããã®åŸããã®çµæãè§£éãããšã©ãŒæ¡ä»¶ã®åŠçãæžãŸããããšãå¿
èŠã«å¿ããŠå床ãã®ã¡ãœãããåŒã³åºããŸãã
in - å
¥åæåãããã¡out - åºåbyteãããã¡endOfInput - åŒåºãå
ãæå®ããããããã¡ã«ãã以äžã®å
¥åæåã远å ããå¯èœæ§ããªãå Žåã«éãtrueIllegalStateException - ãšã³ã³ãŒãåŠçããã§ã«é²è¡äžã§ããããã®çŽåã®ã¹ããããresetã¡ãœããã®åŒåºãã§ããendOfInputãã©ã¡ãŒã¿ã«falseãæå®ãããã®ã¡ãœããã®åŒåºãã§ããendOfInputãã©ã¡ãŒã¿ã«trueãæå®ãããã®ã¡ãœããã®åŒåºãã§ããªãã®ã«ããšã³ã³ãŒãåŠçãäžå®å
šã§ããããšãç€ºãæ»ãå€ãè¿ãããå ŽåCoderMalfunctionError - encodeLoopã¡ãœããã®åŒåºãã«ãã£ãŠäºæããªãäŸå€ãã¹ããŒãããå Žåpublic final CoderResult flush(ByteBuffer out)
å éšã®ç¶æ ãä¿æããäžéšã®ãšã³ã³ãŒãã¯ãå ¥åã·ãŒã±ã³ã¹ã®èªèŸŒã¿ãå®äºããæç¹ã§ãåºåãããã¡ã«çµç«¯ãã€ããæžã蟌ãå¿ èŠããããŸãã
远å ã®åºåã¯ãåºåãããã¡ã®çŸåšäœçœ®ã«æžã蟌ãŸããŸãã æžã蟌ãŸãããã€ãæ°ã¯å€ããŠout.remaining()ãã€ãã§ãã ãããã¡ã®äœçœ®ã¯ãã®ãã€ãæ°ã«åŸã£ãŠå¢å ããŸãããããŒã¯ãšãªãããã¯ãã®ãŸãŸã§ãã
ãã®ã¡ãœããã¯ãæ£åžžã«çµäºããå ŽåCoderResult.UNDERFLOWãè¿ããŸãã åºåãããã¡ã®å®¹éãäžè¶³ããå Žåã¯CoderResult.OVERFLOWãè¿ããŸãã ãã®å Žåã¯ãããå€ãã®ç©ºãé åãæã€åºåãããã¡ãæå®ããŠãã®ã¡ãœãããå床åŒã³åºãããã®ãšã³ã³ãŒãåŠçãå®äºãããå¿
èŠããããŸãã
ãã®ãšã³ã³ãŒãã®ãã©ãã·ã¥åŸã«ãã®ã¡ãœãããåŒã³åºããŠããäœã®å¹æããããŸããã
ãã®ã¡ãœããã¯ãimplFlushã¡ãœãããåŒã³åºãããšã§ãå®éã®ãã©ãã·ã¥åŠçãè¡ããŸãã
out - åºåbyteãããã¡CoderResult.UNDERFLOWãŸãã¯CoderResult.OVERFLOWIllegalStateException - çŸåšã®ãšã³ã³ãŒãåŠçã®çŽåã®ã¹ãããããflushã¡ãœããã®åŒåºãã§ããendOfInputãã©ã¡ãŒã¿ã«trueãæå®ãã3ã€ã®åŒæ°ãæã€encodeã¡ãœããã®åŒåºãã§ããªãå Žåprotected CoderResult implFlush(ByteBuffer out)
ãã®ã¡ãœããã®ããã©ã«ãå®è£
ã§ã¯äœã®åŠçãè¡ããããåžžã«CoderResult.UNDERFLOWãè¿ããŸãã å
¥åã·ãŒã±ã³ã¹ã®èªèŸŒã¿å®äºåŸã«åºåãããã¡ã«æåŸã®ãã€ããæžã蟌ãå¿
èŠããããšã³ã³ãŒãã§ã¯ããã®ã¡ãœããããªãŒããŒã©ã€ãããå¿
èŠããããŸãã
out - åºåbyteãããã¡CoderResult.UNDERFLOWãŸãã¯CoderResult.OVERFLOWpublic final CharsetEncoder reset()
ãã®ã¡ãœããã¯ãæåã»ããã«äŸåããªãç¶æ
ããªã»ããããŸãããŸããæåã»ããåºæã®ãªã»ããã»ã¢ã¯ã·ã§ã³ãå®è¡ããããã«ãimplResetã¡ãœãããåŒã³åºããŸãã
protected void implReset()
ãã®ã¡ãœããã®ããã©ã«ãå®è£ ã§ã¯äœã®åŠçãè¡ãããŸããã å éšç¶æ ãä¿æãããšã³ã³ãŒãã§ã¯ããã®ã¡ãœããããªãŒããŒã©ã€ãããå¿ èŠããããŸãã
protected abstract CoderResult encodeLoop(CharBuffer in, ByteBuffer out)
ãã®ã¡ãœããã¯ãåºæ¬çãªãšã³ã³ãŒãã»ã«ãŒããã«ãã»ã«åããå
¥åããªããªãããåºåãããã¡ã®å®¹éãäžè¶³ãããããŸãã¯ãšã³ã³ãŒãã»ãšã©ãŒãçºçãããŸã§æå€§éã®æåããšã³ã³ãŒãããŸãã ãã®ã¡ãœããã¯ãçµæè§£éãšãšã©ãŒåŸ©æ§ãè¡ãencodeã¡ãœããã«ãã£ãŠåŒã³åºãããŸãã
ãããã¡ã«å¯Ÿããèªæžãã¯ãåãããã¡ã®çŸåšäœçœ®ããè¡ãããŸãã èªã¿åãããæåæ°ã¯å€ããŠin.remaining()æåãæžã蟌ãŸãããã€ãæ°ã¯å€ããŠout.remaining()ãã€ãã§ãã ãããã¡ã®äœçœ®ã¯ãèªã¿åãããæåæ°ãŸãã¯æžã蟌ãŸãããã€ãæ°ã«åŸã£ãŠå¢å ããŸãããããŒã¯ãšãªãããã¯ãã®ãŸãŸã§ãã
ãã®ã¡ãœããã¯ãencodeã¡ãœãããšåæ§ã«ãçµäºã®çç±ãèšè¿°ããCoderResultãªããžã§ã¯ããè¿ããŸãã ãã®ã¡ãœããã®å®è£
ã®å€§éšåã¯ãencodeã¡ãœããã§ã®è§£éã«å¿
èŠãªçµæãªããžã§ã¯ããè¿ãããšã§ããšã³ã³ãŒãã»ãšã©ãŒãåŠçããŸãã ããã«å¯Ÿããæé©åãããå®è£
ã¯ãé¢é£ãšã©ãŒã»ã¢ã¯ã·ã§ã³ã調ã¹ããã®ã¢ã¯ã·ã§ã³ãèªèº«ã§å®è¡ããå¯èœæ§ããããŸãã
ãã®ã¡ãœããã®å®è£
ã«ãã£ãŠã¯ãååãªéã®å
¥åãåãåããŸã§ä»»æã®åæ¹æ€çŽ¢ãè¡ããCoderResult.UNDERFLOWãè¿ãç¶ããå¯èœæ§ããããŸãã
in - å
¥åæåãããã¡out - åºåbyteãããã¡public final ByteBuffer encode(CharBuffer in) throws CharacterCodingException
ãã®ã¡ãœããã¯ããšã³ã³ãŒãåŠçå šäœãå®è£ ããŠããŸããã€ãŸãããã®ã¡ãœããã¯ããã®ãšã³ã³ãŒãããªã»ããããããšãæå®ãããæåãããã¡å ã®æåããšã³ã³ãŒãããæåŸã«ãã®ãšã³ã³ãŒãããã©ãã·ã¥ããŸãã ãããã£ãŠããšã³ã³ãŒãåŠçããã§ã«é²è¡äžã®å Žåã¯ããã®ã¡ãœãããåŒã³åºããªãã§ãã ããã
in - å
¥åæåãããã¡IllegalStateException - ãšã³ã³ãŒãåŠçããã§ã«é²è¡äžã§ããå ŽåMalformedInputException - å
¥åãããã¡ã®çŸåšäœçœ®ããå§ãŸãæåã·ãŒã±ã³ã¹ãæ£åœãª16ãããUnicodeã·ãŒã±ã³ã¹ã§ãªããäžæ£å
¥åãšã©ãŒã«å¯Ÿããã¢ã¯ã·ã§ã³ãCodingErrorAction.REPORTã§ããå ŽåUnmappableCharacterException - å
¥åãããã¡ã®çŸåšäœçœ®ããå§ãŸãæåã·ãŒã±ã³ã¹ãåçã®ãã€ãã»ã·ãŒã±ã³ã¹ã«ãããããããšãã§ããããããäžå¯æåãšã©ãŒã«å¯Ÿããã¢ã¯ã·ã§ã³ãCodingErrorAction.REPORTã§ããå ŽåCharacterCodingExceptionpublic boolean canEncode(char c)
æå®ãããæåããµãã²ãŒãæåã§ããå Žåããã®ã¡ãœããã¯falseãè¿ããŸãããµãã²ãŒãæåãè§£éã§ããã®ã¯ãäžäœãµãã²ãŒãã®ããšã«äžäœãµãã²ãŒããç¶ã圢ã®ãã¢ã«ãªã£ãŠããå Žåã ãã§ãã æåã·ãŒã±ã³ã¹ã®ãšã³ã³ãŒããå¯èœã§ãããã©ããã¯ãcanEncode(CharSequence)ã¡ãœããã䜿ã£ãŠãã¹ãã§ããŸãã
ãã®ã¡ãœããã¯ããã®ãšã³ã³ãŒãã®ç¶æ ã倿ŽããŸãããã§ã«ãšã³ã³ãŒãåŠçãé²è¡ããŠããå Žåã¯ããã®ã¡ãœãããåŒã³åºããªãã§ãã ããã
ãã®ã¡ãœããã®ããã©ã«ãå®è£ ã¯ããŸãå¹çããããããŸãããéåžžããã®æ§èœãæ¹åããããã«ã¯ããªãŒããŒã©ã€ããå¿ èŠã§ãã
c - æå®ãããæåIllegalStateException - ãšã³ã³ãŒãåŠçããã§ã«é²è¡äžã§ããå Žåpublic boolean canEncode(CharSequence cs)
ãã®ã¡ãœãããç¹å®ã®æåã·ãŒã±ã³ã¹ã«å¯ŸããŠfalseãè¿ãå Žåã¯ããšã³ã³ãŒãåŠçããã¹ãŠå®è¡ããã°ãã·ãŒã±ã³ã¹ããšã³ã³ãŒããããªãçç±ã詳ãã調ã¹ãããšãã§ããŸãã
ãã®ã¡ãœããã¯ããã®ãšã³ã³ãŒãã®ç¶æ ã倿ŽããŸãããã§ã«ãšã³ã³ãŒãåŠçãé²è¡ããŠããå Žåã¯ããã®ã¡ãœãããåŒã³åºããªãã§ãã ããã
ãã®ã¡ãœããã®ããã©ã«ãå®è£ ã¯ããŸãå¹çããããããŸãããéåžžããã®æ§èœãæ¹åããããã«ã¯ããªãŒããŒã©ã€ããå¿ èŠã§ãã
cs - æå®ãããæåã·ãŒã±ã³ã¹IllegalStateException - ãšã³ã³ãŒãåŠçããã§ã«é²è¡äžã§ããå Žå ãã°ãŸãã¯æ©èœãéä¿¡
詳现ãªAPIãªãã¡ã¬ã³ã¹ããã³éçºè
ããã¥ã¡ã³ãã«ã€ããŠã¯ãJava SEã®ããã¥ã¡ã³ããåç
§ããŠãã ããã ãã®ããã¥ã¡ã³ãã«ã¯ãæŠå¿µçãªæŠèŠãçšèªã®å®çŸ©ãåé¿æ¹æ³ãæå¹ãªã³ãŒãäŸãªã©ã®ãéçºè
ã察象ã«ãããã詳现ãªèª¬æãå«ãŸããŠããŸãã
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyãåç
§ããŠãã ããã