JavaTM 2 Platform
Standard Ed. 5.0

java.nio.channels
ÀÎÅÍÆäÀ̽º GatheringByteChannel

¸ðµç ½´ÆÛ ÀÎÅÍÆäÀ̽º:
Channel, Closeable, WritableByteChannel
±âÁ¸ÀÇ ±¸Çö Ŭ·¡½ºÀÇ À϶÷:
DatagramChannel, FileChannel, Pipe.SinkChannel, SocketChannel

public interface GatheringByteChannel
extends WritableByteChannel

¹öÆÛ ¼ø¼­·ÎºÎÅÍ ¹ÙÀÌÆ®¸¦ ±âÀÔÇÒ ¼ö°¡ Àִ ä³ÎÀÔ´Ï´Ù.

¡¸ÁýÁß¡¹±âÀÔ Á¶ÀÛÀº, 1 ȸÀÇ È£Ãâ·Î ÁöÁ¤µÈ ¹öÆÛ ¼ø¼­ (º¹¼ö°¡´É)·ÎºÎÅÍ ´ÜÀÏÀÇ ¹ÙÀÌÆ® ¼ø¼­¸¦ ±âÀÔÇÕ´Ï´Ù. º¸Åë , ÁýÁß ±âÀÔÀº, ƯÁ¤ÀÇ ³×Æ®¿öÅ© ÇÁ·ÎÅäÄÝÀ̳ª ÆÄÀÏ Çü½Ä (µ¥ÀÌÅ͸¦ 1 °³ ÀÌ»óÀÇ °íÁ¤Àå Çì´õ¿Í °¡º¯ÀåÀÇ º»Ã¼·ÎºÎÅÍ µÇ´Â ¼¼±×¸ÕÆ®(segment)¿¡ Á¤¸®ÇÏ´Â ±â´ÉÀ» °¡Áö´Â °Í µî)À» ±¸ÇöÇÏ´Â °æ¿ì¿¡ µµ¿òÀÌ µË´Ï´Ù. À̰Ϳ¡ À¯»çÇÑ ¡¸ºÐ»ê¡¹read Á¶ÀÛÀº,ScatteringByteChannel ÀÎÅÍÆäÀ̽º¿¡ Á¤Àǵǰí ÀÖ½À´Ï´Ù.

µµÀÔµÈ ¹öÁ¯:
1.4

¸Þ¼­µå °³¿ä
 long write (ByteBuffer [] srcs)
          ÀÌ Ã¤³ÎÀÇ ¹ÙÀÌÆ® ¼ø¼­°¡ ÁöÁ¤µÈ ¹öÆÛ·ÎºÎÅÍ ½á³À´Ï´Ù.
 long write (ByteBuffer [] srcs, int offset, int length)
          ÀÌ Ã¤³ÎÀÇ ¹ÙÀÌÆ® ¼ø¼­°¡ ÁöÁ¤µÈ ¹öÆÛÀÇ ¼­ºê ¼ø¼­·ÎºÎÅÍ ½á³À´Ï´Ù.
 
ÀÎÅÍÆäÀ̽º java.nio.channels. WritableByteChannel ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
write
 
ÀÎÅÍÆäÀ̽º java.nio.channels. Channel ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
close, isOpen
 

¸Þ¼­µåÀÇ »ó¼¼

write

long write(ByteBuffer [] srcs,
           int offset,
           int length)
           throws IOException 
ÀÌ Ã¤³ÎÀÇ ¹ÙÀÌÆ® ¼ø¼­°¡ ÁöÁ¤µÈ ¹öÆÛÀÇ ¼­ºê ¼ø¼­·ÎºÎÅÍ ½á³À´Ï´Ù.

ÀÌ Ã¤³Î¿¡ ÃÖ´ë r ¹ÙÀÌÆ®¸¦ ±âÀÔÇÏ·Á°í ÇÕ´Ï´Ù. r´Â ÀÌ ¸Þ¼­µåÀÇ È£Ãâ½Ã·Î ÁöÁ¤µÈ ¹öÆÛ ¹è¿­ÀÇ ÁöÁ¤µÈ ¼­ºê ¼ø¼­¿¡ Æ÷ÇԵǴ ÇÕ°è ¹ÙÀÌÆ®¼öÀÔ´Ï´Ù.

 srcs[offset]. remaining() + srcs[offset+1]. remaining() + ... + srcs[offset+length-1]. remaining()

±æÀÌ n (0 <= n <= r)ÀÇ ¹ÙÀÌÆ® ¼ø¼­°¡ ±âÀÔÇØÁø´Ù°í ÇÕ´Ï´Ù. ÀÌ ¼ø¼­ÀÇ ÃÖÃÊÀÇ srcs[offset]. remaining()¹ÙÀÌÆ®±îÁö°¡ ¹öÆÛ srcs[offset] ¿¡ ±âÀÔÇØÁ® ´ÙÀ½ÀÇ srcs[offset+1]. remaining() ¹ÙÀÌÆ®°¡ ¹öÆÛ srcs[offset] ·ÎºÎÅÍ ¹öÆÛ srcs[offset+1] ¿¡ ±âÀÔÇØÁý´Ï´Ù. ÀÌ Ã³¸®´Â ¹ÙÀÌÆ® ¼ø¼­ ÀüºÎ°¡ ±âÀÔÇØÁú ¶§±îÁö ¹Ýº¹ÇØÁý´Ï´Ù. °¢ ¹öÆÛ·ÎºÎÅÍ ÃÖ´ëÇÑÀÇ ¹ÙÀÌÆ®°¡ ±âÀÔÇØÁö±â ¶§¹®¿¡ °»½ÅµÈ °³°³ÀÇ ¹öÆÛÀÇ ÃÖÁ¾ÀûÀÎ À§Ä¡´Â ÃÖÁ¾ °»½Å ¹öÆÛ¸¦ Á¦¿ÜÇØ, ÀÌ ¹öÆÛÀÇ ¸®¹ÔÆ®¿Í µ¿ÀÏÇØÁý´Ï´Ù.

ƯÈ÷ ÁöÁ¤ÀÌ ¾ø´Â ÇÑ, ¿ä±¸µÈ r ¹ÙÀÌÆ®°¡ ¸ðµÎ ±âÀÔÇØÁö¸é ±âÀÔ Á¶ÀÛÀº Á¾·áÇÕ´Ï´Ù. ä³ÎÀÇ Á¾·ù¿¡ µû¶ó¼­´Â ±× »óÅ¿¡ ÀÀÇØ, ÀϺÎÀÇ ¹ÙÀÌÆ® ¹Û¿¡ ±âÀÔÇØÁöÁö ¾ÊÀº °æ¿ì³ª, ÀüÇô write¸¦ ÇÏÁö ¾Ê´Â °æ¿ìµµ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î ºñºí·Ï ¸ðµåÀÇ ¼ÒÄÏ Ã¤³Î¿¡¼­´Â ¼ÒÄÏÀÇ Ãâ·Â ¹öÆÛ³»ÀÇ ¹ÙÀÌÆ®¼ö°¡ ÃÖ´ë ±âÀÔ ¹ÙÀÌÆ®¼ö°¡ µË´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â ¾ðÁ¦¶óµµ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¸, ´Ù¸¥ thread°¡ ÀÌ Ã¤³Î¿¡ ´ëÇØ¼­ ±âÀÔÇØ Á¶ÀÛÀ» °³½ÃÇϰí ÀÖ´Â °æ¿ì, ÀÌ ¸Þ¼­µåÀÇ È£ÃâÀº ÃÖÃÊÀÇ Á¶ÀÛÀÌ ³¡³¯ ¶§±îÁö ºí·Ï µË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
srcs - ¹ÙÀÌÆ®ÀÇ ÃëµæÃ³ ¹öÆÛ
offset - ÃÖÃÊÀÇ ¹ÙÀÌÆ®ÀÇ ÃëµæÃ³°¡ µÇ´Â ¹öÆÛ ¹è¿­³»ÀÇ ¿ÀÇÁ¼Â(offset). srcs.length ÀÌÇÏÀÇ Á¦·Î ¶Ç´Â Á¤ÀÇ ¼ö
length - ¾×¼¼½º °¡´ÉÇÑ ÃÖ´ë ¹öÆÛ¼ö. srcs.length - offset ÀÌÇÏÀÇ Á¦·Î ¶Ç´Â Á¤ÀÇ ¼ö
¹Ýȯ°ª:
±âÀÔÇØÁö´Â ¹ÙÀÌÆ®¼ö. Á¦·ÎÀÇ °æ¿ìµµ ÀÖ´Ù
¿¹¿Ü:
IndexOutOfBoundsException - offset ÆÄ¶ó¹ÌÅÍ¿Í length ÆÄ¶ó¹ÌÅÍÀÇ ÀüÁ¦ Á¶°ÇÀÌ Ã¤¿öÁöÁö ¾ÊÀº °æ¿ì
NonWritableChannelException - ÀÌ Ã¤³ÎÀÌ ±âÀÔÇØ °¡´ÉÇÏÁö ¾ÊÀº °æ¿ì
ClosedChannelException - ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ì
AsynchronousCloseException - ±âÀÔÁß¿¡ ´Ù¸¥ thread¿¡ ÇØ ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî µÇ¾úÀ» °æ¿ì
ClosedByInterruptException - ±âÀÔÁß¿¡ ´Ù¸¥ thread·ÎºÎÅÍÀÇ ÀÎÅÍ·´Æ®°¡ ÀÖ¾ú±â ¶§¹®¿¡ ä³ÎÀÌ Å¬·Î¿ìÁî ÇØ, ÇöÀçÀÇ threadÀÇ ÀÎÅÍ·´Æ® »óŰ¡ ¼³Á¤µÇ¾úÀ» °æ¿ì
IOException - ±× ¿ÜÀÇ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì

write

long write(ByteBuffer [] srcs)
           throws IOException 
ÀÌ Ã¤³ÎÀÇ ¹ÙÀÌÆ® ¼ø¼­°¡ ÁöÁ¤µÈ ¹öÆÛ·ÎºÎÅÍ ½á³À´Ï´Ù.

ÀÌ ¸Þ¼­µå¸¦ c.write(srcs) Çü½Ä¿¡¼­ È£ÃâÇßÀ» °æ¿ì, ´ÙÀ½ÀÇ È£Ãâ°ú °°Àº °á°ú¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù.

 c.write(srcs, 0, srcs.length);

ÆÄ¶ó¹ÌÅÍ:
srcs - ¹ÙÀÌÆ®ÀÇ ÃëµæÃ³ ¹öÆÛ
¹Ýȯ°ª:
±âÀÔÇØÁö´Â ¹ÙÀÌÆ®¼ö. Á¦·ÎÀÇ °æ¿ìµµ ÀÖ´Ù
¿¹¿Ü:
NonWritableChannelException - ÀÌ Ã¤³ÎÀÌ ±âÀÔÇØ °¡´ÉÇÏÁö ¾ÊÀº °æ¿ì
ClosedChannelException - ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ì
AsynchronousCloseException - ±âÀÔÁß¿¡ ´Ù¸¥ thread¿¡ ÇØ ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî µÇ¾úÀ» °æ¿ì
ClosedByInterruptException - ±âÀÔÁß¿¡ ´Ù¸¥ thread·ÎºÎÅÍÀÇ ÀÎÅÍ·´Æ®°¡ ÀÖ¾ú±â ¶§¹®¿¡ ä³ÎÀÌ Å¬·Î¿ìÁî ÇØ, ÇöÀçÀÇ threadÀÇ ÀÎÅÍ·´Æ® »óŰ¡ ¼³Á¤µÇ¾úÀ» °æ¿ì
IOException - ±× ¿ÜÀÇ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì

JavaTM 2 Platform
Standard Ed. 5.0

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.