|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
java.lang.Objectjava.nio.Buffer
public abstract class Buffer
ƯÁ¤ÀÇ ¿ø½ÃÇü µ¥ÀÌÅÍÀÇ ÄÁÅ×À̳ÊÀÔ´Ï´Ù.
¹öÆÛ´Â ƯÁ¤ÀÇ ¿ø½ÃÇü ¿ä¼ÒÀÇ ¸®´Ï¾î·Î À¯ÇÑÀÇ ¼ø¼ÀÔ´Ï´Ù. ÄÁÅÙÃ÷ ¿Ü¿¡ ¿ë·®, ¸®¹ÔÆ®, À§Ä¡¶ó°í ÇÏ´Â Çʼö ÇÁ·ÎÆÛƼ°¡ ÀÖ½À´Ï´Ù.
¡¸¿ë·®¡¹Àº ±× ¹öÆÛ¿¡ Æ÷ÇԵǴ ¿ä¼Ò¼ö¿¡ °áÁ¤µË´Ï´Ù. ¿ë·®ÀÇ °ªÀº °íÁ¤À¸·Î ¹Ýµå½Ã Á¤ÀÇ °ªÀÌ µË´Ï´Ù.
¡¸¸®¹ÔÆ®¡¹´Â Àб⠶Ǵ write¸¦ ÇàÇØ¼´Â ¾È µÇ´Â ÃÖÃÊÀÇ ¿ä¼ÒÀÇ À妽ºÀÔ´Ï´Ù. ¿ë·® ¾Æ·¡ÀÇ Á¤ÀÇ °ªÀÌ µË´Ï´Ù.
¡¸À§Ä¡¡¹´Â ´ÙÀ½¿¡ Àб⠶Ǵ write¸¦ ½Ç½ÃÇÏ´Â ¿ä¼ÒÀÇ À妽ºÀÔ´Ï´Ù. ¸®¹ÔÆ® ¾Æ·¡ÀÇ Á¤ÀÇ °ªÀÌ µË´Ï´Ù.
ºñºÒÇüÀÇ ¿ø½ÃÇü¿¡ ´Â ÀÌ Å¬·¡½ºÀÇ ¼ºê Ŭ·¡½º°¡ 1°³ ¾¿ ÇÒ´çÇÒ ¼ö ÀÖ°í ÀÖ½À´Ï´Ù.
ÀÌ Å¬·¡½ºÀÇ ¼ºê Ŭ·¡½º´Â °¢°¢ ´ÙÀ½ÀÇ 2°³ÀÇ Ä«Å×°í¸®¿¡ ÇØ´çÇÏ´Â ¡¸get¡¹ ¹× ¡¸put¡¹¸¦ Á¤ÀÇÇÕ´Ï´Ù.
¡¸»ó´ë¡¹Á¶ÀÛ. ÇöÀç À§Ä¡·ÎºÎÅÍ 1°³ ÀÌ»óÀÇ ¿ä¼ÒÀÇ Àб⠶Ǵ write¸¦ ½Ç½ÃÇØ, Àü¼Û µÈ ¿ä¼ÒÀÇ ¼ö¸¸Å À§Ä¡¸¦ Áõ°¡ÇÕ´Ï´Ù. ¿ä±¸µÈ Àü¼ÛÀÌ ¸®¹ÔÆ®¸¦ ³Ñ´Â °æ¿ì, »ó´ë ¡¸get¡¹´Â
BufferUnderflowException
¸¦, »ó´ë ¡¸put¡¹´ÂBufferOverflowException
¸¦ Throw ÇÕ´Ï´Ù. ¾î´À ÂÊÀÇ °æ¿ìµµ, µ¥ÀÌÅÍ´Â ÀÏÀý Àü¼Û µÇÁö ¾Ê½À´Ï´Ù.¡¸Àý´ë¡¹Á¶ÀÛ. ¸í½ÃÀûÀÎ ¿ä¼Ò À妽º¸¦ »ç¿ëÇϱâ À§ÇØ, À§Ä¡´Â º¯ÈÇÏÁö ¾Ê½À´Ï´Ù. À妽º Àμö°¡ ¸®¹ÔÆ®¸¦ ³Ñ´Â °æ¿ì, Àý´ë ¡¸get¡¹, Àý´ë ¡¸put¡¹¶ó°íµµ¿¡
IndexOutOfBoundsException
¸¦ Throw ÇÕ´Ï´Ù.
ÀûÀýÇÑ Ã¤³ÎÀÇ ÀÔÃâ·Â Á¶ÀÛÀ» ½Ç½ÃÇϸé, µ¥ÀÌÅÍÀÇ Àü¼Û (¹öÆÛ¿ÍÀÇ ÁÖ°í¹Þ¾Æ)Àº °¡´ÉÇÕ´Ï´Ù. ÀÌ Á¶ÀÛÀº Ç×»ó ÇöÀç À§Ä¡¿¡ ´ëÇØ¼ »ó´ëÀûÀ¸·Î ÇàÇØÁý´Ï´Ù.
¹öÆÛÀÇ ¡¸¸¶Å©¡¹´Â reset
¸Þ¼µå¸¦ ½ÇÇàÇßÀ» ¶§¿¡ µ¹¾Æ¿À´Â À§Ä¡¸¦ ÁöÁ¤ÇÏ´Â À妽ºÀÔ´Ï´Ù. Á¤ÀǵǾî ÀÖÁö ¾ÊÀº °æ¿ìµµ ÀÖ½À´Ï´Ù¸¸, Á¤Àǵǰí ÀÖ´Â °æ¿ì´Â ¹Ýµå½Ã À§Ä¡ ¾Æ·¡ÀÇ Á¤ÀÇ °ªÀÌ µË´Ï´Ù. À§Ä¡³ª ¸®¹ÔÆ®ÀÇ °ªÀÌ ¸¶Å©ÀÇ °ªº¸´Ù ÀÛÀº °æ¿ì, ¸¶Å©´Â ÆÄ±âµË´Ï´Ù. ¸¶Å©°¡ Á¤ÀǵǾî ÀÖÁö ¾ÊÀº »óÅ·Πreset
¸Þ¼µå¸¦ È£ÃâÇϸé, InvalidMarkException
À» ¹ß»ý½Ãŵ´Ï´Ù.
¸¶Å©, À§Ä¡, ¸®¹ÔÆ®, ¿ë·®ÀÇ °¢ Ä¡ÀÇ »çÀÌ¿¡´Â ´ÙÀ½ÀÇ ºÒº¯½ÄÀÌ ¼º¸³µË´Ï´Ù.
0 <= mark <= position <= limit <= capacity
»õ·Ó°Ô ÀÛ¼ºµÈ ¹öÆÛÀÇ À§Ä¡´Â Ç×»ó 0, ¸¶Å©´Â ¹ÌÁ¤µµ¸®ÀÔ´Ï´Ù. ¸®¹ÔÆ®ÀÇ ÃʱⰪ ´Â 0 Àΰ¡ ¹öÆÛÀÇ ±¸Ãà ¹æ¹ýÀ̳ª Á¾·ù¿¡ µû¶ó¼´Â ±× ÀÌ¿ÜÀÇ °ªÀÌ µË´Ï´Ù. ÀϹÝÀûÀ¸·Î ¹öÆÛÀÇ Ãʱâ ÄÁÅÙÃ÷´Â ¹ÌÁ¤µµ¸®ÀÔ´Ï´Ù.
ÀÌ Å¬·¡½º¿¡´Â À§Ä¡, ¸®¹ÔÆ®, ¿ë·®ÀÇ °¢ Ä¡¿¡ ¾×¼¼½º ÇÏ´Â ¸Þ¼µå ¹× ¸¶Å©¿Í ¸®¼Â¸¦ ½Ç½ÃÇÏ´Â ¸Þ¼µå¿¡ ´õÇØ¹öÆÛ¿¡ ´ëÇÑ ´ÙÀ½°ú °°Àº Á¶ÀÛµµ Á¤Àǵǰí ÀÖ½À´Ï´Ù.
clear()
´Â
»õ·Î¿î ÀÏ·ÃÀÇ Ã¤³Î read Á¶ÀÛ ¶Ç´Â »ó´ë ¡¸put¡¹Á¶ÀÛÀ» À§Çؼ ¹öÆÛ¸¦ ÁغñÇÕ´Ï´Ù. ¸®¹ÔÆ®¸¦ ¿ë·®ÀÇ °ªÀ¸·Î ¼³Á¤ÇØ, À§Ä¡¸¦ 0 À¸·Î ¼³Á¤ÇÕ´Ï´Ù.
flip()
´Â
»õ·Î¿î ä³Î Ãâ·Â ¼ø¼ (»ó´ë ¡¸get¡¹)¸¦ À§Çؼ ¹öÆÛ¸¦ ÁغñÇÕ´Ï´Ù. ¸®¹ÔÆ®ÀÇ °ªÀ» ÇöÀç À§Ä¡ÀÇ °ª¿¡ ¸ÂÃáµÚ À§Ä¡ÀÇ °ªÀ» 0 À¸·Î ÇÕ´Ï´Ù.
rewind()
´Â
À̹Ì
¹öÆÛ Æ÷ÇԵǰí ÀÖ´Â µ¥ÀÌÅ͸¦ ÀçÂ÷ ÀоîµéÀÏ ¼ö ÀÖµµ·Ï, ¹öÆÛ¸¦ ÁغñÇÕ´Ï´Ù. ¸®¹ÔÆ®ÀÇ °ªÀº ±×´ë·Î À§Ä¡ÀÇ °ªÀ» 0 À¸·Î ÇÕ´Ï´Ù.
¸ðµç ¹öÆÛ´Â Àбâ
°¡´ÉÇÏÁö¸¸,
Ãâ·Âµµ °¡´ÉÇÏ´Ù¶ó°í´Â ÇÑÁ¤ÇÏÁö ¾Ê½À´Ï´Ù. °¢ ¹öÆÛ Ŭ·¡½ºÀÇ º¯ÀÌ ¸Þ¼µå´Â ¡¸»ý·« °¡´ÉÇÑ Á¶ÀÛ¡¹À¸·Î ÁöÁ¤µÇ°í ÀÖ¾î Àбâ Àü¿ë
¹öÆÛ»ó¿¡¼ ºÒ·Á°¡
¸é ReadOnlyBufferException
¸¦
Throw ÇÕ´Ï´Ù. Àбâ Àü¿ë
¹öÆÛÀÇ ÄÁÅÙÃ÷´Â º¯°æÇÒ ¼ö ¾ø½À´Ï´Ù. ±×·¯³ª, ¸¶Å©, À§Ä¡, ¸®¹ÔÆ®ÀÇ °ªÀº º¯°æ °¡´ÉÇÕ´Ï´Ù. ¹öÆÛ°¡ Àбâ Àü¿ë
ÀÏÁö ¾î¶³Áö´Â isReadOnly
¸Þ¼µå¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î ÆÇ´ÜÇÒ ¼ö ÀÖ½À´Ï´Ù.
¹öÆÛ´Â º¹¼öÀÇ º´·Ä thread¿¡ ÇÑ »ç¿ë¿¡ ´ëÇØ ¾ÈÀüÇÏÁö´Â ¾Ê½À´Ï´Ù. º¹¼öÀÇ thread·Î »ç¿ëÇÏ´Â °æ¿ì´Â ÀûÀýÇÑ µ¿±â 󸮿¡ ÀÇÇØ ¹öÆÛ¿¡ÀÇ ¾×¼¼½º¸¦ Á¦¾îÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
µ¹·ÁÁÖ°í¾ß ÇÒ °ªÀ» °¡Áö°í ÀÖÁö ¾ÊÀº ÀÌ Å¬·¡½ºÀÇ ¸Þ¼µå´Â ÀÚ½ÅÀ» È£ÃâÇÏ´Â ¹öÆÛ¸¦ µ¹·ÁÁÖ±â À§Çؼ ÁöÁ¤µË´Ï´Ù. À̰ÍÀ» ÀÀ¿ëÇØ, ¸Þ¼µå È£ÃâÀ» ¿¬¼â½Ãų ¼ö°¡ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î ´ÙÀ½°ú °°Àº ¹®ÀåÀÌ ÀÖ´Ù°í ÇսôÙ.
À̰͵éÀº º¸´Ù ÄÄÆÑÆ®ÇÑ Çü½ÄÀÇ ÀÏÇàÀ¸·Î ¿Å°Ü³õÀ» ¼ö ÀÖ½À´Ï´Ù.b.flip(); b.position(23); b.limit(42);
b.flip(). position(23). limit(42);
¸Þ¼µå °³¿ä | |
---|---|
int |
capacity ()
ÀÌ ¹öÆÛÀÇ ¿ë·®À» ¸®ÅÏÇÕ´Ï´Ù. |
Buffer |
clear ()
ÀÌ ¹öÆÛ¸¦ Ŭ¸®¾î ÇÕ´Ï´Ù. |
Buffer |
flip ()
ÀÌ ¹öÆÛ¸¦ Çø³ (¹ÝÀü) ÇÕ´Ï´Ù. |
boolean |
hasRemaining ()
ÇöÀç À§Ä¡·ÎºÎÅÍ ¸®¹ÔÆ®±îÁö ¿ä¼Ò°¡ 1°³¿¡ ¼µµ Á¸ÀçÇÒÁö ¾î¶³Áö¸¦ ÆÇ´ÜÇÕ´Ï´Ù. |
abstract boolean |
isReadOnly ()
ÀÌ ¹öÆÛ°¡ Àбâ Àü¿ë ÀÏÁö ¾î¶³Áö¸¦ ÆÇ´ÜÇÕ´Ï´Ù. |
int |
limit ()
ÀÌ ¹öÆÛÀÇ ¸®¹ÔÆ®¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
Buffer |
limit (int newLimit)
ÀÌ ¹öÆÛÀÇ ¸®¹ÔÆ®¸¦ ¼³Á¤ÇÕ´Ï´Ù. |
Buffer |
mark ()
ÀÌ ¹öÆÛÀÇ ÇöÀç À§Ä¡¿¡ ¸¶Å©¸¦ ¼³Á¤ÇÕ´Ï´Ù. |
int |
position ()
ÀÌ ¹öÆÛÀÇ À§Ä¡¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
Buffer |
position (int newPosition)
ÀÌ ¹öÆÛÀÇ À§Ä¡¸¦ ¼³Á¤ÇÕ´Ï´Ù. |
int |
remaining ()
ÇöÀç À§Ä¡·ÎºÎÅÍ ¸®¹ÔÆ®±îÁö Á¸ÀçÇÏ´Â ¿ä¼ÒÀÇ ¼ö¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
Buffer |
reset ()
¹öÆÛÀÇ À§Ä¡¸¦ ÀÌÀü¿¡ ¸¶Å© ÇÑ À§Ä¡¿¡ µÇµ¹¸³´Ï´Ù. |
Buffer |
rewind ()
ÀÌ ¹öÆÛ¸¦ µÇ°¨±â (µÇ°¨¾Æ) ÇÕ´Ï´Ù. |
Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼µå |
---|
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
¸Þ¼µåÀÇ »ó¼¼ |
---|
public final int capacity()
public final int position()
public final Buffer position(int newPosition)
newPosition
- »õ·Î¿î À§Ä¡ÀÇ °ª. 0 ÀÌ»ó ¶ÇÇÑ ÇöÀçÀÇ ¸®¹ÔÆ® ÀÌÇϰ¡ ¾Æ´Ï¸é ¾ÈµÈ´Ù
IllegalArgumentException
- newPosition
ÀüÁ¦ Á¶°ÇÀÌ Ã¤¿öÁöÁö ¾ÊÀº °æ¿ìpublic final int limit()
public final Buffer limit(int newLimit)
newLimit
- »õ·Î¿î ¸®¹ÔƮġ´Â ÀÌ ¹öÆÛÀÇ ¿ë·® ¾Æ·¡ÀÇ Á¤ÀÇ °ªÀÌ ¾Æ´Ï¸é ¾ÈµÈ´Ù
IllegalArgumentException
- newLimit
ÀüÁ¦ Á¶°ÇÀÌ Ã¤¿öÁöÁö ¾ÊÀº °æ¿ìpublic final Buffer mark()
public final Buffer reset()
ÀÌ ¸Þ¼µå¸¦ È£ÃâÇØµµ, ¸¶Å©ÀÇ °ªÀº º¯°æµÇÁö ¾Ê½À´Ï´Ù. ¸¶Å©°¡ ÆÄ±âµÇ´Â Àϵµ ¾ø½À´Ï´Ù.
InvalidMarkException
- ¸¶Å©°¡ ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ìpublic final Buffer clear()
ÀÏ·ÃÀÇ Ã¤³Î read Á¶ÀÛ ¶Ç´Â ¡¸put¡¹Á¶ÀÛÀ» »ç¿ëÇØ ÀÌ ¹öÆÛ¿¡ µ¥ÀÌÅ͸¦ Æ÷ÇÔÇϱâ Àü¿¡ ÀÌ ¸Þ¼µå¸¦ È£ÃâÇÕ´Ï´Ù.
buf.clear(); // Prepare buffer for reading in.read(buf); // Read data
ÀÌ ¸Þ¼µå´Â ¹öÆÛ³»ÀÇ µ¥ÀÌÅ͸¦ ½ÇÁ¦·Î ¼Ò°ÅÇÏ´Â °ÍÀº ¾Æ´Õ´Ï´Ù. ±×·¯³ª, ±×·¯ÇÑ »óȲÀ¸·Î »ç¿ëµÇ±â ¶§¹®¿¡ Ŭ¸®¾î (clear)¶ó°í ¸í¸íÇØÁö°í ÀÖ½À´Ï´Ù.
public final Buffer flip()
ä³Î read Á¶ÀÛ (put)µÚ, ÀÌ ¸Þ¼µå¸¦ È£ÃâÇØ ä³Î Ãâ·Â Á¶ÀÛ (»ó´ë ¡¸get¡¹)ÀÇ Áغñ¸¦ ½Ç½ÃÇÕ´Ï´Ù. ´ÙÀ½¿¡ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.
buf.put(magic); // Prepend header in.read(buf); // Read data into rest of buffer buf.flip(); // Flip buffer out.write(buf); // Write header + data to channel
¾î´À Àå¼Ò·ÎºÎÅÍ ´Ù¸¥ Àå¼Ò¿¡ µ¥ÀÌÅ͸¦ Àü¼Û ÇÒ ¶§, ÀÌ ¸Þ¼µå¸¦ compact
¸Þ¼µå¿Í Á¶ÇÕÇØ »ç¿ëÇÏ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
public final Buffer rewind()
ÀÌ ¸Þ¼µå´Â ¸®¹ÔÆ®¸¦ ¿Ã¹Ù¸£°Ô ¼³Á¤ÇÑµÚ Ã¤³Î Ãâ·Â Á¶ÀÛ (get)Àü¿¡ È£ÃâÇÕ´Ï´Ù. ´ÙÀ½¿¡ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.
out.write(buf); // Write remaining data buf.rewind(); // Rewind buffer buf.get(array); // Copy data into array
public final int remaining()
public final boolean hasRemaining()
public abstract boolean isReadOnly()
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.