JavaTM 2
Platform
Std.  Ed.  v1. 4.0

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

¸ðµç ½´ÆÛ ÀÎÅÍÆäÀ̽º:
Channel , 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

public 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 ¹ÙÀÌÆ®°¡ ¸ðµÎ ±âÀÔÇØÁö¸é(ÀÚ) ±âÀÔ Á¶ÀÛÀº Á¾·áÇÕ´Ï´Ù. ä³ÎÀÇ Á¾·ù¿¡ µû¶ó¼­´Â ±× »óÅ¿¡ ÀÀÇØ, ÀϺÎÀÇ ¹ÙÀÌÆ® ¹Û¿¡ ±âÀÔÇØÁöÁö ¾ÊÀº °æ¿ì³ª, ÀüÇô ±âÀÔÀ» ÇÏÁö ¾Ê´Â °æ¿ìµµ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î ºñºí·Ï ¸ðµåÀÇ ¼ÒÄÏ Ã¤³Î¿¡¼­´Â ¼ÒÄÏÀÇ Ãâ·Â ¹öÆÛ³»ÀÇ ¹ÙÀÌÆ®¼ö°¡ ÃÖ´ë ±âÀÔ ¹ÙÀÌÆ®¼ö°¡ µË´Ï´Ù.

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

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

write

public 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
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.