public abstract class CharsetDecoder extends Object
å ¥åãã€ãã»ã·ãŒã±ã³ã¹ã¯ãåäžã®byteãããã¡ãŸãã¯äžé£ã®byteãããã¡ãšããŠæäŸãããŸãã åºåæåã·ãŒã±ã³ã¹ã¯ãåäžã®æåãããã¡ãŸãã¯äžé£ã®æåãããã¡ã«æžã蟌ãŸããŸãã ãã³ãŒãã䜿çšããéã«ã¯ãå¿ ãæ¬¡ã®ã¡ãœããåŒåºãæé (以äžããã³ãŒãåŠç)ã«åŸã£ãŠãã ããã
ãã³ãŒããã¯ãããŠäœ¿çšããå Žå以å€ã¯ãresetã¡ãœããã䜿çšããŠãã³ãŒãããªã»ããããŸãã
远å å
¥åãããéãdecodeã¡ãœããã0å以äžåŒã³åºããååŒåºãã®éã«endOfInputåŒæ°ã«falseãæž¡ããå
¥åãããã¡ã«ããŒã¿ãæ ŒçŽããåºåãããã¡ããã©ãã·ã¥ããŸãã
decodeã¡ãœãããæåŸã«1ååŒã³åºããendOfInputåŒæ°ã«trueãæž¡ããŸãã
ãã³ãŒããå
éšç¶æ
ãåºåãããã¡ãžãã©ãã·ã¥ã§ããããã«ãflushã¡ãœãããåŒã³åºããŸãã
decodeã¡ãœãããåŒã³åºããã³ã«ãå
¥åãããã¡å
ã®ãã€ããæåã«ãã³ãŒããããåºåãããã¡ã«æžã蟌ãŸããŸãã æ°ããªå
¥åèŠæ±ãåãåã£ãããåºåãããã¡ã®å®¹éãäžè¶³ãããããã³ãŒãã»ãšã©ãŒãçºçããããããšãdecodeã¡ãœããã¯çµäºããŸãã ãããã®å Žåã§ããçµäºã®çç±ã説æããããã«CoderResultãªããžã§ã¯ããè¿ãããŸãã åŒåºãå
ã¯ããã®ãªããžã§ã¯ãã確èªããŠãå
¥åãããã¡ããã£ã±ãã«ããããåºåãããã¡ããã©ãã·ã¥ãããããã³ãŒãã»ãšã©ãŒããã®å埩åŠçãå®è¡ããŠãåŒåºããå詊è¡ããŸãã
ãã³ãŒãã»ãšã©ãŒã«ã¯äžè¬çãª2çš®é¡ã®ãšã©ãŒããããŸãã å ¥åãã€ãã»ã·ãŒã±ã³ã¹ããã®æåã»ããã«ãšã£ãŠäžåœãªå Žåã¯ãäžæ£å ¥åãšã©ãŒãçºçããŸãã å ¥åãã€ãã»ã·ãŒã±ã³ã¹ã¯æ£åœã§ãããããæå¹ãªUnicodeæåã«ãããã§ããªãå Žåã¯ããããäžå¯æåãšã©ãŒãçºçããŸãã
ç¹å®ã®ãã³ãŒãã»ãšã©ãŒãã©ã®ããã«åŠçããããã¯ããã®çš®é¡ã®ãšã©ãŒã«å¯ŸããŠèŠæ±ãããã¢ã¯ã·ã§ã³ã«ãã£ãŠæ±ºãŸããŸãããããã®ã¢ã¯ã·ã§ã³ã¯ãCodingErrorActionã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ã«ãã£ãŠèšè¿°ãããŸãã å©çšå¯èœãªãšã©ãŒã»ã¢ã¯ã·ã§ã³ã¯ããšã©ãŒå
¥åã®ç¡èŠãæ»ãå€ã®CoderResultãªããžã§ã¯ããçµç±ããåŒåºãå
ãžã®ãšã©ãŒã®å ±åããŸãã¯çŸåšã®çœ®ææååå€ã«ãããšã©ãŒå
¥åã®çœ®æã§ãã 眮æã®åæå€ã¯"\uFFFD"ã§ãããã®å€ã¯ãreplaceWithã¡ãœããã䜿ã£ãŠå€æŽã§ããŸãã
å
¥å圢åŒãæ£ãããªããšã©ãŒããããäžå¯æåãšã©ãŒãçºçããå Žåãããã©ã«ãã®ã¢ã¯ã·ã§ã³ãšããŠããããã®ãšã©ãŒã®å ±åãè¡ãããŸãã å
¥å圢åŒãæ£ãããªããšã©ãŒã«å¯Ÿããã¢ã¯ã·ã§ã³ã倿Žããå Žåã¯onMalformedInputã¡ãœãããããããäžå¯æåãšã©ãŒã«å¯Ÿããã¢ã¯ã·ã§ã³ã倿Žããå Žåã¯onUnmappableCharacterã¡ãœãããããããã䜿çšããŸãã
ãã®ã¯ã©ã¹ã¯ããšã©ãŒã»ã¢ã¯ã·ã§ã³ã®å®è£
ãã¯ãããšãããã³ãŒãåŠçã®è©³çްã®å€ããåŠçããããã«èšèšãããŠããŸãã ç¹å®ã®æåã»ããã«å¯Ÿãããã³ãŒã(ãã®ã¯ã©ã¹ã®å
·è±¡ãµãã¯ã©ã¹)ãå®è£
ããå¿
èŠãããã®ã¯ãæšæºãã³ãŒãã»ã«ãŒããã«ãã»ã«åããæœè±¡ã¡ãœããdecodeLoopã ãã§ãã ããã«å ããå
éšç¶æ
ãä¿æãããµãã¯ã©ã¹ã¯ãimplFlushã¡ãœãããšimplResetã¡ãœããããªãŒããŒã©ã€ãããå¿
èŠããããŸãã
ãã®ã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ã¯ãè€æ°ã®ã¹ã¬ããã§äžŠè¡ããŠäœ¿çšããããšã¯ã§ããŸããã
ByteBuffer, CharBuffer, Charset, CharsetEncoder| 修食å | ã³ã³ã¹ãã©ã¯ã¿ | 説æ |
|---|---|---|
protected |
CharsetDecoder(Charset cs, float averageCharsPerByte, float maxCharsPerByte) |
æ°ãããã³ãŒããåæåããŸãã
|
| 修食åãšå | ã¡ãœãã | 説æ |
|---|---|---|
float |
averageCharsPerByte() |
å
¥åãã€ãããšã«çæãããå¹³åæåæ°ãè¿ããŸãã
|
Charset |
charset() |
ãã®ãã³ãŒããçæããæåã»ãããè¿ããŸãã
|
CharBuffer |
decode(ByteBuffer in) |
åäžã®å
¥åbyteãããã¡ã®ã³ã³ãã³ããæ°ããå²ãåœãŠãããæåãããã¡å
ã«ãã³ãŒãããç°¡æã¡ãœããã§ãã
|
CoderResult |
decode(ByteBuffer in, CharBuffer out, boolean endOfInput) |
æå®ãããå
¥åãããã¡å
ã®ãã€ããæå€§éãã³ãŒãããæå®ãããåºåãããã¡ã«çµæãæžã蟌ã¿ãŸãã
|
protected abstract CoderResult |
decodeLoop(ByteBuffer in, CharBuffer out) |
1å以äžã®ãã€ãããã³ãŒããã1å以äžã®æåãžãã³ãŒãããŸãã
|
Charset |
detectedCharset() |
ãã®ãã³ãŒãã«ãã£ãŠæ€åºãããæåã»ãããååŸããŸã (ãªãã·ã§ã³ã®æäœ)ã
|
CoderResult |
flush(CharBuffer out) |
ãã®ãã³ãŒãããã©ãã·ã¥ããŸãã
|
protected CoderResult |
implFlush(CharBuffer out) |
ãã®ãã³ãŒãããã©ãã·ã¥ããŸãã
|
protected void |
implOnMalformedInput(CodingErrorAction newAction) |
äžæ£å
¥åãšã©ãŒã«å¯Ÿããããã®ãã³ãŒãã®ã¢ã¯ã·ã§ã³ã倿Žãããããšãå ±åããŸãã
|
protected void |
implOnUnmappableCharacter(CodingErrorAction newAction) |
ãããã§ããªãæåãšã©ãŒã«å¯Ÿããããã®ãã³ãŒãã®ã¢ã¯ã·ã§ã³ã倿Žãããããšãå ±åããŸãã
|
protected void |
implReplaceWith(String newReplacement) |
ãã®ãã³ãŒãã®ä»£æ¿å€ã倿Žãããããšãå ±åããŸãã
|
protected void |
implReset() |
ãã®ãã³ãŒãããªã»ããããæåã»ããåºæã®å
éšã®ç¶æ
ãã¯ãªã¢ããŸãã
|
boolean |
isAutoDetecting() |
ãã®ãã³ãŒããèªåæ€åºæåã»ãããå®è£
ãããã©ããã倿ããŸãã
|
boolean |
isCharsetDetected() |
ãã®ãã³ãŒãããã§ã«æåã»ãããæ€åºããŠãããã©ããã倿ããŸã (ãªãã·ã§ã³ã®æäœ)ã
|
CodingErrorAction |
malformedInputAction() |
äžæ£å
¥åãšã©ãŒã«å¯Ÿããããã®ãã³ãŒãã®çŸåšã®ã¢ã¯ã·ã§ã³ãè¿ããŸãã
|
float |
maxCharsPerByte() |
å
¥åãã€ãããšã«çæãããæå€§æåæ°ãè¿ããŸãã
|
CharsetDecoder |
onMalformedInput(CodingErrorAction newAction) |
äžæ£å
¥åãšã©ãŒã«å¯Ÿãããã®ãã³ãŒãã®ã¢ã¯ã·ã§ã³ã倿ŽããŸãã
|
CharsetDecoder |
onUnmappableCharacter(CodingErrorAction newAction) |
ãããã§ããªãæåãšã©ãŒã«å¯Ÿããããã®ãã³ãŒãã®ã¢ã¯ã·ã§ã³ã倿ŽããŸãã
|
String |
replacement() |
ãã®ãã³ãŒãã®çœ®æå€ãè¿ããŸãã
|
CharsetDecoder |
replaceWith(String newReplacement) |
ãã®ãã³ãŒãã®ä»£æ¿å€ã倿ŽããŸãã
|
CharsetDecoder |
reset() |
ãã®ãã³ãŒãããªã»ããããå
éšã®ç¶æ
ãã¯ãªã¢ããŸãã
|
CodingErrorAction |
unmappableCharacterAction() |
ãããäžå¯æåãšã©ãŒã«å¯Ÿããããã®ãã³ãŒãã®çŸåšã®ã¢ã¯ã·ã§ã³ãè¿ããŸãã
|
protected CharsetDecoder(Charset cs, float averageCharsPerByte, float maxCharsPerByte)
cs - ãã®ãã³ãŒããçæããæåã»ããaverageCharsPerByte - å
¥åãã€ãããšã«çæãããæåŸ
æåæ°ãç€ºãæ£ã®floatå€maxCharsPerByte - å
¥åãã€ãããšã«çæãããæå€§æåæ°ãç€ºãæ£ã®floatå€IllegalArgumentException - äžèšã®ãã©ã¡ãŒã¿ã®åææ¡ä»¶ãæºããããŠããªãå Žåpublic final Charset charset()
public final String replacement()
public final CharsetDecoder replaceWith(String newReplacement)
ãã®ã¡ãœããã¯ãæ°ãã眮æå€ãæ¡ä»¶ã«åã£ãŠããããšã確èªããããã§ããã®å€ãæž¡ããŠimplReplaceWithã¡ãœãããåŒã³åºããŸãã
newReplacement - 代æ¿å€ãæ°ãã代æ¿å€(null以å€ã§ãŒãã§ãªãé·ãã®å€)IllegalArgumentException - äžèšã®ãã©ã¡ãŒã¿ã®åææ¡ä»¶ãæºããããŠããªãå Žåprotected void implReplaceWith(String newReplacement)
ãã®ã¡ãœããã®ããã©ã«ãå®è£ ã§ã¯äœã®åŠçãè¡ãããŸããã 眮æå€ã®å€æŽéç¥ãå¿ èŠãšãããã³ãŒãã§ã¯ããã®ã¡ãœããããªãŒããŒã©ã€ãããå¿ èŠããããŸãã
newReplacement - 代æ¿å€public CodingErrorAction malformedInputAction()
public final CharsetDecoder onMalformedInput(CodingErrorAction newAction)
ãã®ã¡ãœããã¯ãæ°ããã¢ã¯ã·ã§ã³ãæž¡ããŠimplOnMalformedInputã¡ãœãããåŒã³åºããŸãã
newAction - æ°ããã¢ã¯ã·ã§ã³(null以å€)IllegalArgumentException - äžèšã®ãã©ã¡ãŒã¿ã®åææ¡ä»¶ãæºããããŠããªãå Žåprotected void implOnMalformedInput(CodingErrorAction newAction)
ãã®ã¡ãœããã®ããã©ã«ãå®è£ ã§ã¯äœã®åŠçãè¡ãããŸããã äžæ£å ¥åãšã©ãŒã«å¯Ÿããã¢ã¯ã·ã§ã³ã®å€æŽéç¥ãå¿ èŠãšãããã³ãŒãã§ã¯ããã®ã¡ãœããããªãŒããŒã©ã€ãããå¿ èŠããããŸãã
newAction - æ°ããã¢ã¯ã·ã§ã³public CodingErrorAction unmappableCharacterAction()
public final CharsetDecoder onUnmappableCharacter(CodingErrorAction newAction)
ãã®ã¡ãœããã¯ãæ°ããã¢ã¯ã·ã§ã³ãæž¡ããŠimplOnUnmappableCharacterã¡ãœãããåŒã³åºããŸãã
newAction - æ°ããã¢ã¯ã·ã§ã³(null以å€)IllegalArgumentException - äžèšã®ãã©ã¡ãŒã¿ã®åææ¡ä»¶ãæºããããŠããªãå Žåprotected void implOnUnmappableCharacter(CodingErrorAction newAction)
ãã®ã¡ãœããã®ããã©ã«ãå®è£ ã§ã¯äœã®åŠçãè¡ãããŸããã ãããäžå¯æåãšã©ãŒã«å¯Ÿããã¢ã¯ã·ã§ã³ã®å€æŽéç¥ãå¿ èŠãšãããã³ãŒãã§ã¯ããã®ã¡ãœããããªãŒããŒã©ã€ãããå¿ èŠããããŸãã
newAction - æ°ããã¢ã¯ã·ã§ã³public final float averageCharsPerByte()
public final float maxCharsPerByte()
public final CoderResult decode(ByteBuffer in, CharBuffer out, boolean endOfInput)
ãããã¡ã«å¯Ÿããèªæžãã¯ãåãããã¡ã®çŸåšäœçœ®ããè¡ãããŸãã èªã¿åããããã€ãæ°ã¯å€ããŠin.remaining()ãã€ããæžã蟌ãŸããæåæ°ã¯å€ããŠout.remaining()æåã§ãã ãããã¡ã®äœçœ®ã¯ãèªã¿åããããã€ãæ°ãŸãã¯æžã蟌ãŸããæåæ°ã«åŸã£ãŠå¢å ããŸãããããŒã¯ãšãªãããã¯ãã®ãŸãŸã§ãã
ãã®ã¡ãœããã¯ãå
¥åãããã¡ããã®ãã€ãã®èªã¿èŸŒã¿ãšåºåãããã¡ãžã®æåã®æžèŸŒã¿ã«å ããŠãçµäºã®çç±ã説æããæ¬¡ã®ãããªCoderResultãªããžã§ã¯ããè¿ããŸãã
CoderResult.UNDERFLOWã¯ãå
¥åãããã¡å
ã®ãã€ããæå€§éãã³ãŒããããããšã瀺ããŸãã ãã以äžå
¥åããªãå ŽåãåŒåºãå
ã¯ãã³ãŒãåŠçã®æ¬¡ã®ã¹ãããã«é²ãããšãã§ããŸãã ãã以å€ã®å Žåãããã«å
¥åããŒã¿ãæºåããŠããã®ã¡ãœãããå床åŒã³åºãå¿
èŠããããŸãã
CoderResult.OVERFLOWã¯ãåºåãããã¡ã®å®¹éãäžè¶³ããŠããŠããã以äžãã€ãããã³ãŒãã§ããªãããšã瀺ããŸãã æ®ãã®æåæ°ãå€ãåºåãããã¡ãæå®ããŠããã®ã¡ãœãããå床åŒã³åºãå¿
èŠããããŸãã ãã®ããã«ã¯éåžžãåºåãããã¡ã«å
¥ã£ãŠãããã³ãŒãæžã¿ã®æåãæåºããŸãã
å
¥å圢åŒãæ£ãããªãçµæã¯ãå
¥å圢åŒãæ£ãããªããšã©ãŒãæ€åºãããããšã瀺ããŸãã 圢åŒãäžæ£ãªãã€ãã¯ãå
¥åãããã¡ã®äœçœ®(äœçœ®ã®å€ãå¢å ããŠããå¯èœæ§ããã)ããå§ãŸããŸãã圢åŒãäžæ£ãªãã€ãæ°ã¯ãçµæãªããžã§ã¯ãã®lengthã¡ãœãããåŒã³åºãããšã§ç¹å®ã§ããŸãã ãã ãããããåœãŠã¯ãŸãã®ã¯ããã®ãã³ãŒãã®åœ¢åŒäžæ£å
¥åãšã©ãŒã«å¯Ÿããã¢ã¯ã·ã§ã³ãCodingErrorAction.REPORTã§ããå Žåã«éãããŸãããã以å€ã®å Žåã圢åŒäžæ£å
¥åã¯èŠæ±ã«å¿ããŠç¡èŠãããããå¥ã®å€ã«çœ®æãããŸãã
ãããäžå¯æåçµæã¯ããããäžå¯æåãšã©ãŒãæ€åºãããããšã瀺ããŸãã ãããäžå¯æåããã³ãŒããããã€ãã¯ãå
¥åãããã¡ã®äœçœ®(äœçœ®ã®å€ãå¢å ããŠããå¯èœæ§ããã)ããå§ãŸããŸãããã®ãã€ãæ°ã¯ãçµæãªããžã§ã¯ãã®lengthã¡ãœãããåŒã³åºãããšã§ç¹å®ã§ããŸãã ãã ãããããåœãŠã¯ãŸãã®ã¯ããã®ãã³ãŒãã®ãããäžå¯æåãšã©ãŒã«å¯Ÿããã¢ã¯ã·ã§ã³ãCodingErrorAction.REPORTã§ããå Žåã«éãããŸãããã以å€ã®å Žåããããäžå¯æåã¯èŠæ±ã«å¿ããŠç¡èŠãããããå¥ã®å€ã«çœ®æãããŸãã
endOfInputãã©ã¡ãŒã¿ã¯ãæå®ãããå ¥åãããã¡ã«åŒåºãå ããã®æ°ããªå ¥åããããã©ããããã®ã¡ãœããã«éç¥ããŸãã ãŸã å ¥åã®å¯èœæ§ãããå ŽåãåŒåºãå ã¯ãã®ãã©ã¡ãŒã¿ã«falseãæž¡ãå¿ èŠããããŸãããã以äžå ¥åã®å¯èœæ§ããªãå Žåã¯trueãæž¡ããŸãã åŒåºãå ããfalseãæž¡ããããšã§å ¥åããªãã£ããšããŠããåé¡ã¯ãããŸããã ããããåŒåºãã·ãŒã±ã³ã¹ã«ããããã®ã¡ãœããã®æåŸã®åŒåºãã§ã¯ãtrueãæž¡ããªããã°ãããŸããããã以éããŸã ãã³ãŒããããŠããªãå ¥åã¯ãäžæ£å ¥åããšèŠãªãããããã«ãªããŸãã
ãã®ã¡ãœããã¯ããŸãdecodeLoopã¡ãœãããåŒã³åºããŸãããã®åŸããã®çµæãè§£éãããšã©ãŒæ¡ä»¶ã®åŠçãæžãŸããããšãå¿
èŠã«å¿ããŠå床ãã®ã¡ãœãããåŒã³åºããŸãã
in - å
¥åãã€ãã»ãããã¡out - åºåæåãããã¡endOfInput - åŒåºãå
ãæå®ããããããã¡ã«ãã以äžã®å
¥åãã€ãã远å ããå¯èœæ§ããªãå Žåã«éãtrueIllegalStateException - ãã³ãŒãåŠçããã§ã«é²è¡äžã§ããããã®çŽåã®ã¹ããããresetã¡ãœããã®åŒåºãã§ããendOfInputãã©ã¡ãŒã¿ã«falseãæå®ãããã®ã¡ãœããã®åŒåºãã§ããendOfInputãã©ã¡ãŒã¿ã«trueãæå®ãããã®ã¡ãœããã®åŒåºãã§ããªãã®ã«ããã³ãŒãåŠçãäžå®å
šã§ããããšãç€ºãæ»ãå€ãè¿ãããå ŽåCoderMalfunctionError - decodeLoopã¡ãœããã®åŒåºãã«ãã£ãŠäºæããªãäŸå€ãã¹ããŒãããå Žåpublic final CoderResult flush(CharBuffer out)
å éšã®ç¶æ ãä¿æããäžéšã®ãã³ãŒãã¯ãå ¥åã·ãŒã±ã³ã¹ã®èªèŸŒã¿ãå®äºããæç¹ã§åºåãããã¡ã«çµç«¯æåãæžã蟌ãå¿ èŠããããŸãã
远å ã®åºåã¯ãåºåãããã¡ã®çŸåšäœçœ®ã«æžã蟌ãŸããŸãã æžã蟌ãŸããæåæ°ã¯å€ããŠout.remaining()æåã§ãã ãããã¡ã®äœçœ®ã¯ãã®ãã€ãæ°ã«åŸã£ãŠå¢å ããŸãããããŒã¯ãšãªãããã¯ãã®ãŸãŸã§ãã
ãã®ã¡ãœããã¯ãæ£åžžã«çµäºããå ŽåCoderResult.UNDERFLOWãè¿ããŸãã åºåãããã¡ã®å®¹éãäžè¶³ããå Žåã¯CoderResult.OVERFLOWãè¿ããŸãã ãã®å Žåã¯ãããå€ãã®ç©ºãé åãæã€åºåãããã¡ãæå®ããŠãã®ã¡ãœãããå床åŒã³åºãããã®ãã³ãŒãåŠçãå®äºãããå¿
èŠããããŸãã
ãã®ãã³ãŒãã®ãã©ãã·ã¥åŸã«ãã®ã¡ãœãããåŒã³åºããŠããäœã®å¹æããããŸããã
ãã®ã¡ãœããã¯ãimplFlushã¡ãœãããåŒã³åºãããšã§ãå®éã®ãã©ãã·ã¥åŠçãè¡ããŸãã
out - åºåæåãããã¡CoderResult.UNDERFLOWãŸãã¯CoderResult.OVERFLOWIllegalStateException - çŸåšã®ãã³ãŒãåŠçã®çŽåã®ã¹ãããããflushã¡ãœããã®åŒåºãã§ããendOfInputãã©ã¡ãŒã¿ã«trueãæå®ãã3ã€ã®åŒæ°ãæã€decodeã¡ãœããã®åŒåºãã§ããªãå Žåprotected CoderResult implFlush(CharBuffer out)
ãã®ã¡ãœããã®ããã©ã«ãå®è£
ã§ã¯äœã®åŠçãè¡ããããåžžã«CoderResult.UNDERFLOWãè¿ããŸãã å
¥åã·ãŒã±ã³ã¹ã®èªèŸŒã¿å®äºåŸã«åºåãããã¡ã«æåŸã®æåãæžã蟌ãå¿
èŠããããã³ãŒãã§ã¯ããã®ã¡ãœããããªãŒããŒã©ã€ãããå¿
èŠããããŸãã
out - åºåæåãããã¡CoderResult.UNDERFLOWãŸãã¯CoderResult.OVERFLOWpublic final CharsetDecoder reset()
ãã®ã¡ãœããã¯ãæåã»ããã«äŸåããªãç¶æ
ããªã»ããããŸãããŸããæåã»ããåºæã®ãªã»ããã»ã¢ã¯ã·ã§ã³ãå®è¡ããããã«ãimplResetã¡ãœãããåŒã³åºããŸãã
protected void implReset()
ãã®ã¡ãœããã®ããã©ã«ãå®è£ ã§ã¯äœã®åŠçãè¡ãããŸããã å éšç¶æ ãä¿æãããã³ãŒãã§ã¯ããã®ã¡ãœããããªãŒããŒã©ã€ãããå¿ èŠããããŸãã
protected abstract CoderResult decodeLoop(ByteBuffer in, CharBuffer out)
ãã®ã¡ãœããã¯ãåºæ¬çãªãã³ãŒãã»ã«ãŒããã«ãã»ã«åããå
¥åããªããªãããåºåãããã¡ã®å®¹éãäžè¶³ãããããã³ãŒãã»ãšã©ãŒãçºçãããŸã§æå€§éã®ãã€ãããã³ãŒãããŸãã ãã®ã¡ãœããã¯ãçµæè§£éãšãšã©ãŒåŸ©æ§ãè¡ãdecodeã¡ãœããã«ãã£ãŠåŒã³åºãããŸãã
ãããã¡ã«å¯Ÿããèªæžãã¯ãåãããã¡ã®çŸåšäœçœ®ããè¡ãããŸãã èªã¿åããããã€ãæ°ã¯å€ããŠin.remaining()ãã€ããæžã蟌ãŸããæåæ°ã¯å€ããŠout.remaining()æåã§ãã ãããã¡ã®äœçœ®ã¯ãèªã¿åããããã€ãæ°ãŸãã¯æžã蟌ãŸããæåæ°ã«åŸã£ãŠå¢å ããŸãããããŒã¯ãšãªãããã¯ãã®ãŸãŸã§ãã
ãã®ã¡ãœããã¯ãdecodeã¡ãœãããšåæ§ã«ãçµäºã®çç±ãèšè¿°ããCoderResultãªããžã§ã¯ããè¿ããŸãã ãã®ã¡ãœããã®å®è£
ã®å€§éšåã¯ãdecodeã¡ãœããã§ã®è§£éã«å¿
èŠãªçµæãªããžã§ã¯ããè¿ãããšã§ããã³ãŒãã»ãšã©ãŒãåŠçããŸãã ããã«å¯Ÿããæé©åãããå®è£
ã¯ãé¢é£ãšã©ãŒã»ã¢ã¯ã·ã§ã³ã調ã¹ããã®ã¢ã¯ã·ã§ã³ãèªèº«ã§å®è¡ããå¯èœæ§ããããŸãã
ãã®ã¡ãœããã®å®è£
ã«ãã£ãŠã¯ãååãªéã®å
¥åãåãåããŸã§ä»»æã®åæ¹æ€çŽ¢ãè¡ããCoderResult.UNDERFLOWãè¿ãç¶ããå¯èœæ§ããããŸãã
in - å
¥åãã€ãã»ãããã¡out - åºåæåãããã¡public final CharBuffer decode(ByteBuffer in) throws CharacterCodingException
ãã®ã¡ãœããã¯ãã³ãŒãåŠçå šäœãå®è£ ããŠããŸããã€ãŸãããã®ã¡ãœããã¯ããã®ãã³ãŒãããªã»ããããåŸãæå®ãããbyteãããã¡å ã®ãã€ãããã³ãŒãããæåŸã«ãã®ãã³ãŒãããã©ãã·ã¥ããŸãã ãããã£ãŠããã³ãŒãåŠçããã§ã«é²è¡äžã®å Žåã¯ããã®ã¡ãœãããåŒã³åºããªãã§ãã ããã
in - å
¥åãã€ãã»ãããã¡IllegalStateException - ãã³ãŒãåŠçããã§ã«é²è¡äžã§ããå ŽåMalformedInputException - å
¥åãããã¡ã®çŸåšäœçœ®ããå§ãŸããã€ãã»ã·ãŒã±ã³ã¹ããã®æåã»ããã«ãšã£ãŠäžæ£ã§ãããäžæ£å
¥åãšã©ãŒã«å¯Ÿããã¢ã¯ã·ã§ã³ãCodingErrorAction.REPORTã§ããå ŽåUnmappableCharacterException - å
¥åãããã¡ã®çŸåšäœçœ®ããå§ãŸããã€ãã»ã·ãŒã±ã³ã¹ãåçã®æåã·ãŒã±ã³ã¹ã«ãããããããšãã§ããããããäžå¯æåãšã©ãŒã«å¯Ÿããã¢ã¯ã·ã§ã³ãCodingErrorAction.REPORTã§ããå ŽåCharacterCodingExceptionpublic boolean isAutoDetecting()
ãã®ã¡ãœããã®ããã©ã«ãå®è£ ã¯ãåžžã«falseãè¿ããŸããèªåæ€åºãã³ãŒãã§ã¯ããã®ã¡ãœããããªãŒããŒã©ã€ãããŠtrueãè¿ãããã«ããå¿ èŠããããŸãã
public boolean isCharsetDetected()
ãã®ãã³ãŒããèªåæ€åºæåã»ãããå®è£
ããŠããå Žåããã³ãŒãåŠçã®ããæç¹ãããã®ã¡ãœããããtrueãè¿ãããããã«ãªããŸãããããã¯ãå
¥åãã€ãã»ã·ãŒã±ã³ã¹å
ã§ç¹å®ã®æåã»ãããæ€åºãããããšã瀺ããŸãã ãã以éã¯ãdetectedCharsetã¡ãœãããåŒã³åºãããšã§ãæ€åºãããæåã»ãããååŸã§ããŸãã
ãã®ã¡ãœããã®æ»ãå€ãfalseã§ãã£ãŠãããã€ãã®ãã³ãŒããè¡ãããŠããããšããããŸãã äžéšã®èªåæ€åºãã³ãŒãã¯ãç¹å®ã®æåã»ãããéžæããªããŸãŸå ¥åãã€ãã»ã·ãŒã±ã³ã¹ã®äžéšãŸãã¯å šéšããã³ãŒãããããšãã§ããŸãã
ãã®ã¡ãœããã®ããã©ã«ãå®è£
ã¯ãåžžã«UnsupportedOperationExceptionãè¿ããŸããèªåæ€åºãã³ãŒãã®å Žåãå
¥åæåã»ãããæ€åºãããæç¹ã§trueãè¿ãããã«ããã®ã¡ãœããããªãŒããŒã©ã€ãããå¿
èŠããããŸãã
UnsupportedOperationException - ãã®ãã³ãŒããèªåæ€åºæåã»ãããå®è£
ããŠããªãå Žåpublic Charset detectedCharset()
ãã®ãã³ãŒããèªåæ€åºæåã»ãããå®è£
ããŠããå Žåããã®ã¡ãœããã¯ãå®éã®æåã»ãããæ€åºãããæç¹ã§ãã®æåã»ãããè¿ããŸãã ãã以éãçŸåšã®ãã³ãŒãåŠçãçµäºãããŸã§åãå€ãè¿ããŸãã èªèŸŒã¿å
¥åãã€ãæ°ãå°ãªãããŠæåã»ãããç¹å®ã§ããŠããªãå Žåããã®ã¡ãœããã¯IllegalStateExceptionãã¹ããŒããŸãã
ãã®ã¡ãœããã®ããã©ã«ãå®è£
ã¯ãåžžã«UnsupportedOperationExceptionãè¿ããŸããèªåæ€åºãã³ãŒãã®å Žåãé©åãªå€ãè¿ãããã«ãã®ã¡ãœããããªãŒããŒã©ã€ãããå¿
èŠããããŸãã
IllegalStateException - èªèŸŒã¿ãã€ãæ°ã®äžè¶³ã®ãããæåã»ãããç¹å®ã§ããªãã£ãå ŽåUnsupportedOperationException - ãã®ãã³ãŒããèªåæ€åºæåã»ãããå®è£
ããŠããªãå Žå ãã°ãŸãã¯æ©èœãéä¿¡
詳现ãªAPIãªãã¡ã¬ã³ã¹ããã³éçºè
ããã¥ã¡ã³ãã«ã€ããŠã¯ãJava SEã®ããã¥ã¡ã³ããåç
§ããŠãã ããã ãã®ããã¥ã¡ã³ãã«ã¯ãæŠå¿µçãªæŠèŠãçšèªã®å®çŸ©ãåé¿æ¹æ³ãæå¹ãªã³ãŒãäŸãªã©ã®ãéçºè
ã察象ã«ãããã詳现ãªèª¬æãå«ãŸããŠããŸãã
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyãåç
§ããŠãã ããã