JavaTM 2 Platform
Standard Ed. 5.0

java.nio.channels
Ŭ·¡½º FileChannel

java.lang.Object 
  »óÀ§¸¦ È®Àå java.nio.channels.spi.AbstractInterruptibleChannel 
      »óÀ§¸¦ È®Àå java.nio.channels.FileChannel
¸ðµç ±¸ÇöµÈ ÀÎÅÍÆäÀ̽º:
Closeable, ByteChannel, Channel, GatheringByteChannel, InterruptibleChannel, ReadableByteChannel, ScatteringByteChannel, WritableByteChannel

public abstract class FileChannel
extends AbstractInterruptibleChannel
implements ByteChannel, GatheringByteChannel, ScatteringByteChannel

ÆÄÀÏÀÇ Àоîµé¿©, ±âÀÔÇØ, ¸ÅÇÎ, Á¶ÀÛ¿ë ä³ÎÀÔ´Ï´Ù.

ÆÄÀÏ Ã¤³ÎÀº, ÆÄÀϳ»¿¡ Á¶È¸ ¹×º¯°æ ÀÌ °¡´ÉÇÑ ÇöÀçÀÇ ¡¸À§Ä¡¡¹¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. ÆÄÀÏ ÀÚü¿¡´Â read/±âÀÔ°ú ÇöÀçÀÇ»çÀÌÁî Á¶È¸°¡ °¡´ÉÇÑ °¡º¯ÀåÀÇ ¹ÙÀÌÆ® ¼ø¼­°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ÆÄÀÏÀÇ »çÀÌÁî´Â ÇöÀçÀÇ »çÀÌÁ ¿ôµµ´Â ¹ÙÀÌÆ®¼ö°¡ ±âÀÔÇØÁö¸é Ä¿Á®,Àß¶ó¹ö¸² ¿¡ ÇØ ÀÛ¾ÆÁý´Ï´Ù. ÆÄÀÏ¿¡´Â ¾×¼¼½º Çã°¡, ÄÁÅÙÃ÷ ŸÀÔ, ÃÖÁ¾ °»½Å ½Ã°¢µîÀÇ ¡¸¸ÞŸµ¥ÀÌŸ¡¹µµ °ü·ÃÁöÀ» ¼ö ÀÖ°í ÀÖ½À´Ï´Ù. ÀÌ Å¬·¡½º´Â ¸ÞŸµ¥ÀÌŸ¾ÆÅ©¼¼½º¸¦ À§ÇÑ ¸Þ¼­µå´Â Á¤ÀÇÇÏÁö ¾Ê½À´Ï´Ù.

ÀÌ Å¬·¡½º´Â ¹ÙÀÌÆ® ä³Î¿¡ ´ëÇÑ ÀϹÝÀûÀÎ Á¶ÀÛ (Àоîµé¿©, ±âÀÔÇØ, Ŭ·Î¿ìÁî) ¿Ü¿¡ ´ÙÀ½°ú °°Àº ÆÄÀÏ °íÀ¯ÀÇ Á¶ÀÛÀ» Á¤ÀÇÇÕ´Ï´Ù.

ÆÄÀÏ Ã¤³ÎÀº, º¹¼öÀÇ º´Çà thread·Î ¾ÈÀüÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. close ¸Þ¼­µå´Â Channel ÀÎÅÍÆäÀ̽ºÀÇ ÁöÁ¤ ´ë·Î ¾ðÁ¦¶óµµ È£ÃâÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ä³ÎÀÇ À§Ä¡¸¦ »ç¿ëÇÏ´Â Á¶ÀÛ, ¶Ç´Â ÆÄÀÏ »çÀÌÁ º¯°æÇÒ °¡´É¼ºÀÌ ÀÖ´Â Á¶ÀÛÀº, 1 °³¾¿ ½ÇÇàÇÏ°Ô µÇ¾î ÀÖ½À´Ï´Ù. ÀüÀÇ Á¶ÀÛÀÇ ÁøÇàÁß¿¡ °°Àº Á¶ÀÛÀ» »õ·Ó°Ô °³½ÃÇÏ·Á°í Çϸé, ÃÖÃÊÀÇ Á¶ÀÛÀÌ ³¡³¯ ¶§±îÁö »õ·Î¿î Á¶ÀÛÀº ºí·Ï µË´Ï´Ù. ±× ¿ÜÀÇ Á¶ÀÛ, ƯÈ÷ ¸í½ÃÀûÀÎ À§Ä¡¸¦ »ç¿ëÇÏ´Â Á¶ÀÛÀº, ÀüÀÇ Á¶ÀÛ°ú µ¿½Ã º´ÇàÀ¸·Î ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. µ¿½Ã concurrent processing¸¦ ÇÒÁö ¾î¶³Áö´Â ±âÃʰ¡ µÇ´Â ±¸Çö¿¡ ÇØ Á¤ÇØÁö±â ¶§¹®¿¡ ¹ÌÁöÁ¤ÀÔ´Ï´Ù.

ÀÌ Å¬·¡½ºÀÇ ÀνºÅϽº¿¡ ÇØ Á¦°øµÈ ÆÄÀÏÀÇ ºä´Â °°Àº ÇÁ·Î±×·¥³»ÀÇ ±× ¿ÜÀÇ ÀνºÅϽº¿¡ ÇØ Á¦°øµÈ °°Àº ÆÄÀÏÀÇ ºä¿Í ¸ð¼øµÇÁö ¾Ê´Â °ÍÀÌ º¸ÁõµÇ°í ÀÖ½À´Ï´Ù. ±×·¯³ª, ±âÃʰ¡ µÇ´Â operating systemÀÇ Ä³½¬ 󸮳ª, ³×Æ®¿öÅ© ÆÄÀÏ ½Ã½ºÅÛ ÇÁ·ÎÅäÄÝ¿¡ ÇÑ Áö¿¬ÀÌ ¿øÀÎÀ¸·Î ÀÌ Å¬·¡½ºÀÇ ÀνºÅϽº¿¡ ÇØ Á¦°øµÈ ºä¿Í µ¿½Ã¿¡ ½ÇÇàµÇ°í ÀÖ´Â ÇÁ·Î±×·¥À¸·Î ÀνĵǴ ±× ¿ÜÀÇ ºä°¡ ¸ð¼øµÉ °¡´É¼ºÀÌ ¾ø´Â °ÍÀº ¾Æ´Õ´Ï´Ù. ÀÌ ¹®Á¦´Â ÀÌ·¯ÇÑ ÇÁ·Î±×·¥À» ±â¼úÇϰí ÀÖ´Â ¾ð¾îÀÇ Â÷À̳ª, À̰͵éÀÌ µ¿ÀÏ ¸Ó½ÅÀ¸·Î ½ÇÇàµÇ°í ÀÖ´ÂÁö ¾î¶²Áö¿Í´Â °ü°è¾øÀÌ ¹ß»ýÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¸ð¼øÀº, ½Ã½ºÅÛ¿¡ ÇØ »ý±â´Â °ÍÀ̱⠶§¹®¿¡ ¹ÌÁöÁ¤ÀÔ´Ï´Ù.

ÀÌ Å¬·¡½º´Â ±âÁ¸ÀÇ ÆÄÀÏÀ» ¿©´Â ¸Þ¼­µå³ª »õ·Î¿î ÆÄÀÏÀ» ÀÛ¼ºÇÏ´Â ¸Þ¼­µå´Â Á¤ÀÇÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ·¯ÇÑ ¸Þ¼­µå´Â Àå·¡ÀÇ ¸±¸®½º·Î Ãß°¡µÉ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. À̹øÀÇ ¸±¸®½º·Î ÆÄÀÏ Ã¤³ÎÀ» ÃëµæÇÏ°í ½ÍÀº °æ¿ì´Â ±âÁ¸ÀÇ FileInputStream, FileOutputStream, RandomAccessFile ¸î°³ÀÇ ¿ÀºêÁ§Æ®ÀÇ getChannel ¸Þ¼­µå¸¦ È£ÃâÇÕ´Ï´Ù. ÀÌ·¸°Ô ÇÏ´Â °ÍÀ¸·Î ±âÃÊ¿¡ ÀÖ´Â °°Àº ÆÄÀÏ¿¡ Á¢¼ÓµÈ ÆÄÀÏ Ã¤³ÎÀÌ µ¹·ÁÁÖ°íÁý´Ï´Ù.

ÆÄÀÏ Ã¤³Î »óÅ´ ä³ÎÀ» µ¹·ÁÁØ getChannel ¸Þ¼­µå¸¦ °¡Áö´Â ¿ÀºêÁ§Æ® »óÅÂ¿Í ¹ÐÁ¢ÇÑ °ü°è¿¡ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ä³ÎÀÇ À§Ä¡¸¦ ¸í½ÃÀûÀ¸·Î ȤÀº ¹ÙÀÌÆ®ÀÇ read³ª ±âÀÔ¿¡ ÇØ º¯°æÇϸé, ¹ß»ý¿øÀÇ ¿ÀºêÁ§Æ®ÀÇ ÆÄÀÏ À§Ä¡°¡ ¹Ù²ò´Ï´Ù (¿ªµµ ¸¶Âù°¡Áö). ÆÄÀÏ Ã¤³Î·ÎºÎÅÍ ÆÄÀÏÀÇ ±æÀ̸¦ º¯°æÇϸé, ¹ß»ý¿ø¿ÀºêÁ§Æ®·ÎºÎÅÍ º¸¾ÒÀ» ¶§ÀÇ ±æÀ̰¡ ¹Ù²ò´Ï´Ù (¿ªµµ ¸¶Âù°¡Áö). ¹ÙÀÌÆ®ÀÇ ±âÀÔ¿¡ ÇØ ÆÄÀÏÀÇ ÄÁÅÙÃ÷¸¦ º¯°æÇϸé, ¿øÀÇ ¿ÀºêÁ§Æ®·ÎºÎÅÍ º¸¾ÒÀ» ¶§ÀÇ ÄÁÅÙÃ÷°¡ ¹Ù²ò´Ï´Ù (¿ªµµ ¸¶Âù°¡Áö).

ÀÌ Å¬·¡½º´Â ´Ù¾çÇÑ Á¡À¸·Î½á, ¡¸read °¡´É¡¹, ¡¸±âÀÔ °¡´É¡¹, ¶Ç´Â ¡¸read¿Í ±âÀÔÀÌ °¡´É¡¹ÀÎ ÀνºÅϽº°¡ ÇÊ¿äÇÑ ÀÏÀ» ÁöÁ¤Çϰí ÀÖ½À´Ï´Ù. FileInputStream ÀνºÅϽºÀÇ getChannel ¸Þ¼­µå·Î ÃëµæÇÑ Ã¤³ÎÀº Àоîµé¿© °¡´ÉÇÕ´Ï´Ù. FileOutputStream ÀνºÅϽºÀÇ getChannel ¸Þ¼­µå·Î ÃëµæÇÑ Ã¤³ÎÀº ±âÀÔÇØ °¡´ÉÇÕ´Ï´Ù. ±×¸®°í,RandomAccessFile ÀνºÅϽºÀÇ getChannel ¸Þ¼­µå·Î ÃëµæÇÑ Ã¤³ÎÀº, ÀνºÅϽº°¡ ¸ðµå¡¸r¡¹·Î ÀÛ¼ºµÇ¾úÀ» °æ¿ì´Â Àоîµé¿© °¡´É, ¸ðµå¡¸r¡¹·Î ÀÛ¼ºµÇ¾úÀ» °æ¿ì´Â read¿Í ±âÀÔÀÌ °¡´ÉÇÕ´Ï´Ù.

¿¹¸¦ µé¾î,FileOutputStream(File, boolean) »ý¼ºÀÚ¸¦ È£ÃâÇØ 2 ¹øÂ°ÀÇ ÆÄ¶ó¹ÌÅÍ¿¡ true¸¦ °Ç³×ÁÖ´Â °Í¿¡ ÇØ ÆÄÀÏ Ãâ·Â ½ºÆ®¸²À» ÀÛ¼ºÇßÀ» °æ¿ì, ÀÌ ½ºÆ®¸²·ÎºÎÅÍ ÃëµæÇÑ ±âÀÔ °¡´ÉÇÑ ÆÄÀÏ Ã¤³ÎÀº, ¡¸Ãß°¡ ¸ðµå¡¹°¡ µË´Ï´Ù. ÀÌ ¸ðµå·Î °ü·ÃÇÑ ±âÀÔ Á¶ÀÛÀ» È£ÃâÇϸé, ¿ì¼± À§Ä¡°¡ ÆÄÀÏÀÇ ¸»¹Ì±îÁö ÁøÇàµË´Ï´Ù. ±× ÈÄ, ¿ä±¸µÈ µ¥ÀÌÅͰ¡ ±âÀÔÇØÁý´Ï´Ù. ÀÌ·¯ÇÑ À§Ä¡ÀÇ À̵¿°ú µ¥ÀÌÅÍÀÇ ±âÀÔÀº, ºÒ°¡ºÐÀÎ ´ÜÀÏÀÇ Á¶ÀÛÀ¸·Î¼­ ÇàÇØÁý´Ï´Ù. ÀÌ Á¶ÀÛÀº, ½Ã½ºÅÛ¿¡ Á¸Çϰí Àֱ⠶§¹®¿¡ ¹ÌÁöÁ¤ÀÔ´Ï´Ù.

µµÀÔµÈ ¹öÁ¯:
1.4
°ü·Ã Ç׸ñ:
FileInputStream.getChannel(), FileOutputStream.getChannel(), RandomAccessFile.getChannel()

Áßø(Nested) Ŭ·¡½º °³¿ä
static class FileChannel.MapMode
          ÆÄÀÏ ¸ÅÇιæ½ÄÀÇ ÇüÅ º¸ÁõµÈ ¿­°ÅÀÔ´Ï´Ù.
 
»ý¼ºÀÚ °³¿ä
protected FileChannel ()
          ÀÌ Å¬·¡½ºÀÇ »õ·Î¿î ÀνºÅϽº¸¦ ÃʱâÈ­ÇÕ´Ï´Ù.
 
¸Þ¼­µå °³¿ä
abstract  void force (boolean metaData)
          ÀÌ Ã¤³ÎÀÇ ÆÄÀÏÀÇ °»½Å ³»¿ëÀº, ±× ±â¾ïÀåÄ¡¿¡ °­Á¦ÀûÀ¸·Î ±âÀÔÇØÁý´Ï´Ù.
 FileLock lock ()
          ÀÌ Ã¤³ÎÀÇ ÆÄÀÏ»ó¿¡ ¹èŸ ¶ôÀ» ¼³Á¤ÇÕ´Ï´Ù.
abstract  FileLock lock (long position, long size, boolean shared)
          ÀÌ Ã¤³ÎÀÇ ÆÄÀÏÀÇ ÁöÁ¤µÈ ¿µ¿ªÀ» Àá±Þ´Ï´Ù.
abstract  MappedByteBuffer map (FileChannel.MapMode  mode, long position, long size)
          ÀÌ Ã¤³ÎÀÇ ÆÄÀÏÀÇ ¿µ¿ªÀ» Á÷Á¢ ¸Þ¸ð¸®¿¡ ¸ÅÇÎ ÇÕ´Ï´Ù.
abstract  long position ()
          ÀÌ Ã¤³ÎÀÇ ÆÄÀÏ À§Ä¡¸¦ µ¹·ÁÁÝ´Ï´Ù.
abstract  FileChannel position (long newPosition)
          ÀÌ Ã¤³ÎÀÇ ÆÄÀÏ À§Ä¡¸¦ ¼³Á¤ÇÕ´Ï´Ù.
abstract  int read (ByteBuffer  dst)
          ÀÌ Ã¤³ÎÀÇ ¹ÙÀÌÆ® ¼ø¼­¸¦ ÁöÁ¤ÀÇ ¹öÆÛ¿¡ ÀоîµéÀÔ´Ï´Ù.
 long read (ByteBuffer [] dsts)
          ÀÌ Ã¤³ÎÀÇ ¹ÙÀÌÆ® ¼ø¼­°¡ ÁöÁ¤µÈ ¹öÆÛ¿¡ ÀоîµéÀÔ´Ï´Ù.
abstract  long read (ByteBuffer [] dsts, int offset, int length)
          ÀÌ Ã¤³ÎÀÇ ¹ÙÀÌÆ® ¼ø¼­°¡ ÁöÁ¤µÈ ¹öÆÛÀÇ ¼­ºê ¼ø¼­¿¡ ÀоîµéÀÔ´Ï´Ù.
abstract  int read (ByteBuffer  dst, long position)
          ÀÌ Ã¤³ÎÀÇ ¹ÙÀÌÆ® ¼ø¼­¸¦, ÁöÁ¤µÈ ÆÄÀÏ À§Ä¡·ÎºÎÅÍ ¹öÆÛ¿¡ ÀоîµéÀÔ´Ï´Ù.
abstract  long size ()
          ÀÌ Ã¤³ÎÀÇ ÆÄÀÏÀÇ ÇöÀçÀÇ »çÀÌÁ µ¹·ÁÁÝ´Ï´Ù.
abstract  long transferFrom (ReadableByteChannel  src, long position, long count)
          ÁöÁ¤µÈ read °¡´ÉÇÑ ¹ÙÀÌÆ® ä³Î·ÎºÎÅÍ ÀÌ Ã¤³ÎÀÇ ÆÄÀÏ¿¡ ¹ÙÀÌÆ®¸¦ Àü¼Û ÇÕ´Ï´Ù.
abstract  long transferTo (long position, long count, WritableByteChannel  target)
          ÀÌ Ã¤³ÎÀÇ ÆÄÀϷκÎÅÍ ÁöÁ¤µÈ ±âÀÔ °¡´ÉÇÑ ¹ÙÀÌÆ® ä³Î¿¡ ¹ÙÀÌÆ®¸¦ Àü¼Û ÇÕ´Ï´Ù.
abstract  FileChannel truncate (long size)
          ÀÌ Ã¤³ÎÀÇ ÆÄÀÏÀÇ ¸»¹Ì¸¦ Àß¶ó ¹ö·Á ÁöÁ¤µÈ »çÀÌÁî·Î ÇÕ´Ï´Ù.
 FileLock tryLock ()
          ÀÌ Ã¤³ÎÀÇ ÆÄÀϻ󿡼­ ¹èŸ ¶ôÀ» ȹµæÇÏ·Á°í ÇÕ´Ï´Ù.
abstract  FileLock tryLock (long position, long size, boolean shared)
          ÀÌ Ã¤³ÎÀÇ ÆÄÀÏÀÇ ÁöÁ¤µÈ ¿µ¿ª¿¡¼­ ¶ôÀ» ȹµæÇÏ·Á°í ÇÕ´Ï´Ù.
abstract  int write (ByteBuffer  src)
          ÀÌ Ã¤³ÎÀÇ ¹ÙÀÌÆ® ¼ø¼­¸¦ ÁöÁ¤ÀÇ ¹öÆÛ·ÎºÎÅÍ ½á³À´Ï´Ù.
 long write (ByteBuffer [] srcs)
          ÀÌ Ã¤³ÎÀÇ ¹ÙÀÌÆ® ¼ø¼­°¡ ÁöÁ¤µÈ ¹öÆÛ·ÎºÎÅÍ ½á³À´Ï´Ù.
abstract  long write (ByteBuffer [] srcs, int offset, int length)
          ÀÌ Ã¤³ÎÀÇ ¹ÙÀÌÆ® ¼ø¼­°¡ ÁöÁ¤µÈ ¹öÆÛÀÇ ¼­ºê ¼ø¼­·ÎºÎÅÍ ½á³À´Ï´Ù.
abstract  int write (ByteBuffer  src, long position)
          ÁöÁ¤µÈ ¹öÆÛÀÇ ¹ÙÀÌÆ® ¼ø¼­¸¦ ÀÌ Ã¤³ÎÀÇ ÁöÁ¤µÈ ÆÄÀÏ À§Ä¡¿¡ ±âÀÔÇÕ´Ï´Ù.
 
Ŭ·¡½º java.nio.channels.spi. AbstractInterruptibleChannel ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
begin, close, end, implCloseChannel, isOpen
 
Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
ÀÎÅÍÆäÀ̽º java.nio.channels. Channel ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
close, isOpen
 
ÀÎÅÍÆäÀ̽º java.nio.channels. Channel ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
close, isOpen
 
ÀÎÅÍÆäÀ̽º java.nio.channels. Channel ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
close, isOpen
 
ÀÎÅÍÆäÀ̽º java.nio.channels. Channel ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
close, isOpen
 

»ý¼ºÀÚ »ó¼¼

FileChannel

protected FileChannel()
ÀÌ Å¬·¡½ºÀÇ »õ·Î¿î ÀνºÅϽº¸¦ ÃʱâÈ­ÇÕ´Ï´Ù.

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

read

public abstract int read(ByteBuffer  dst)
                  throws IOException 
ÀÌ Ã¤³ÎÀÇ ¹ÙÀÌÆ® ¼ø¼­¸¦ ÁöÁ¤ÀÇ ¹öÆÛ¿¡ ÀоîµéÀÔ´Ï´Ù.

¹ÙÀÌÆ®ÀÇ read´Â ÀÌ Ã¤³ÎÀÇ ÇöÀçÀÇ ÆÄÀÏ À§Ä¡·ÎºÎÅÍ °³½ÃµË´Ï´Ù. ±× ÈÄ, ½ÇÁ¦·Î ÀÐÈù ¹ÙÀÌÆ®¼ö¿¡ ÇØ ÆÄÀÏ À§Ä¡°¡ °»½ÅµË´Ï´Ù. ±× ÀÌ¿ÜÀÇ Á¡À¸·Î½á, ÀÌ ¸Þ¼­µå´Â ReadableByteChannel ÀÎÅÍÆäÀ̽ºÀÇ ÁöÁ¤´ë·Î µ¿ÀÛÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º ReadableByteChannel ³»ÀÇ read
ÆÄ¶ó¹ÌÅÍ:
dst - ¹ÙÀÌÆ®ÀÇ Àü¼Ûó ¹öÆÛ
¹Ýȯ°ª:
ÀÐÈù ¹®ÀÚ¼ö. Á¦·ÎÀΰ¡, ä³ÎÀÌ ½ºÆ®¸²ÀÇ ¸¶Áö¸·¿¡ À̸£°í ÀÖ´Â °æ¿ì´Â -1
¿¹¿Ü:
ClosedChannelException - ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ì
AsynchronousCloseException - read Á¶ÀÛÀÇ ÁøÇàÁß¿¡ ´Ù¸¥ thread¿¡ ÇØ ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî µÇ¾úÀ» °æ¿ì
ClosedByInterruptException - read Á¶ÀÛÀÇ ÁøÇàÁß¿¡ ´Ù¸¥ thread·ÎºÎÅÍÀÇ ÀÎÅÍ·´Æ®°¡ ÀÖ¾ú±â ¶§¹®¿¡ ä³ÎÀÌ Å¬·Î¿ìÁî ÇØ, ÇöÀçÀÇ threadÀÇ ÀÎÅÍ·´Æ® »óŰ¡ ¼³Á¤µÇ¾úÀ» °æ¿ì
IOException - ±× ¿ÜÀÇ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì

read

public abstract long read(ByteBuffer [] dsts,
                          int offset,
                          int length)
                   throws IOException 
ÀÌ Ã¤³ÎÀÇ ¹ÙÀÌÆ® ¼ø¼­°¡ ÁöÁ¤µÈ ¹öÆÛÀÇ ¼­ºê ¼ø¼­¿¡ ÀоîµéÀÔ´Ï´Ù.

¹ÙÀÌÆ®ÀÇ read´Â ÀÌ Ã¤³ÎÀÇ ÇöÀçÀÇ ÆÄÀÏ À§Ä¡·ÎºÎÅÍ °³½ÃµË´Ï´Ù. ±× ÈÄ, ½ÇÁ¦·Î ÀÐÈù ¹ÙÀÌÆ®¼ö¿¡ ÇØ ÆÄÀÏ À§Ä¡°¡ °»½ÅµË´Ï´Ù. ±× ÀÌ¿ÜÀÇ Á¡À¸·Î½á, ÀÌ ¸Þ¼­µå´Â ScatteringByteChannel ÀÎÅÍÆäÀ̽ºÀÇ ÁöÁ¤´ë·Î µ¿ÀÛÇÕ´Ï´Ù.

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

read

public final long read(ByteBuffer [] dsts)
                throws IOException 
ÀÌ Ã¤³ÎÀÇ ¹ÙÀÌÆ® ¼ø¼­°¡ ÁöÁ¤µÈ ¹öÆÛ¿¡ ÀоîµéÀÔ´Ï´Ù.

¹ÙÀÌÆ®ÀÇ read´Â ÀÌ Ã¤³ÎÀÇ ÇöÀçÀÇ ÆÄÀÏ À§Ä¡·ÎºÎÅÍ °³½ÃµË´Ï´Ù. ±× ÈÄ, ½ÇÁ¦·Î ÀÐÈù ¹ÙÀÌÆ®¼ö¿¡ ÇØ ÆÄÀÏ À§Ä¡°¡ °»½ÅµË´Ï´Ù. ±× ÀÌ¿ÜÀÇ Á¡À¸·Î½á, ÀÌ ¸Þ¼­µå´Â ScatteringByteChannel ÀÎÅÍÆäÀ̽ºÀÇ ÁöÁ¤´ë·Î µ¿ÀÛÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º ScatteringByteChannel ³»ÀÇ read
ÆÄ¶ó¹ÌÅÍ:
dsts - ¹ÙÀÌÆ®ÀÇ Àü¼Ûó ¹öÆÛ
¹Ýȯ°ª:
ÀÐÈù ¹®ÀÚ¼ö. Á¦·ÎÀΰ¡, ä³ÎÀÌ ½ºÆ®¸²ÀÇ ¸¶Áö¸·¿¡ À̸£°í ÀÖ´Â °æ¿ì´Â -1
¿¹¿Ü:
ClosedChannelException - ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ì
AsynchronousCloseException - read Á¶ÀÛÀÇ ÁøÇàÁß¿¡ ´Ù¸¥ thread¿¡ ÇØ ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî µÇ¾úÀ» °æ¿ì
ClosedByInterruptException - read Á¶ÀÛÀÇ ÁøÇàÁß¿¡ ´Ù¸¥ thread·ÎºÎÅÍÀÇ ÀÎÅÍ·´Æ®°¡ ÀÖ¾ú±â ¶§¹®¿¡ ä³ÎÀÌ Å¬·Î¿ìÁî ÇØ, ÇöÀçÀÇ threadÀÇ ÀÎÅÍ·´Æ® »óŰ¡ ¼³Á¤µÇ¾úÀ» °æ¿ì
IOException - ±× ¿ÜÀÇ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì

write

public abstract int write(ByteBuffer  src)
                   throws IOException 
ÀÌ Ã¤³ÎÀÇ ¹ÙÀÌÆ® ¼ø¼­¸¦ ÁöÁ¤ÀÇ ¹öÆÛ·ÎºÎÅÍ ½á³À´Ï´Ù.

ä³ÎÀÌ Ãß°¡ ¸ðµå ÀÌ¿ÜÀÇ °æ¿ì, ¹ÙÀÌÆ®ÀÇ ¼­µÎ´Â ÀÌ Ã¤³ÎÀÇ ÇöÀçÀÇ ÆÄÀÏ À§Ä¡·ÎºÎÅÍ °³½ÃµË´Ï´Ù. Ãß°¡ ¸ðµå¿¡¼­´Â ÃÖÃÊ·Î À§Ä¡°¡ ÆÄÀÏÀÇ ¸»¹Ì±îÁö ÁøÇàµË´Ï´Ù. ÆÄÀÏÀÇ »çÀÌÁî´Â ±âÀÔÇØÁø ¹ÙÀÌÆ®¼ö¿¡ ¸ÂÃß¾î ÇÊ¿äÇϸé Ä¿Áý´Ï´Ù. ÆÄÀÏ À§Ä¡´Â ½ÇÁ¦·Î ±âÀÔÇØÁø ¹ÙÀÌÆ®¼ö¿¡ ÇØ °»½ÅµË´Ï´Ù. ±× ÀÌ¿ÜÀÇ Á¡À¸·Î½á, ÀÌ ¸Þ¼­µå´Â WritableByteChannel ÀÎÅÍÆäÀ̽ºÀÇ ÁöÁ¤´ë·Î µ¿ÀÛÇÕ´Ï´Ù.

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

write

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

ä³ÎÀÌ Ãß°¡ ¸ðµå ÀÌ¿ÜÀÇ °æ¿ì, ¹ÙÀÌÆ®ÀÇ ¼­µÎ´Â ÀÌ Ã¤³ÎÀÇ ÇöÀçÀÇ ÆÄÀÏ À§Ä¡·ÎºÎÅÍ °³½ÃµË´Ï´Ù. Ãß°¡ ¸ðµå¿¡¼­´Â ÃÖÃÊ·Î À§Ä¡°¡ ÆÄÀÏÀÇ ¸»¹Ì±îÁö ÁøÇàµË´Ï´Ù. ÆÄÀÏÀÇ »çÀÌÁî´Â ±âÀÔÇØÁø ¹ÙÀÌÆ®¼ö¿¡ ¸ÂÃß¾î ÇÊ¿äÇϸé Ä¿Áý´Ï´Ù. ÆÄÀÏ À§Ä¡´Â ½ÇÁ¦·Î ±âÀÔÇØÁø ¹ÙÀÌÆ®¼ö¿¡ ÇØ °»½ÅµË´Ï´Ù. ±× ÀÌ¿ÜÀÇ Á¡À¸·Î½á, ÀÌ ¸Þ¼­µå´Â GatheringByteChannel ÀÎÅÍÆäÀ̽ºÀÇ ÁöÁ¤´ë·Î µ¿ÀÛÇÕ´Ï´Ù.

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

write

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

ä³ÎÀÌ Ãß°¡ ¸ðµå ÀÌ¿ÜÀÇ °æ¿ì, ¹ÙÀÌÆ®ÀÇ ¼­µÎ´Â ÀÌ Ã¤³ÎÀÇ ÇöÀçÀÇ ÆÄÀÏ À§Ä¡·ÎºÎÅÍ °³½ÃµË´Ï´Ù. Ãß°¡ ¸ðµå¿¡¼­´Â ÃÖÃÊ·Î À§Ä¡°¡ ÆÄÀÏÀÇ ¸»¹Ì±îÁö ÁøÇàµË´Ï´Ù. ÆÄÀÏÀÇ »çÀÌÁî´Â ±âÀÔÇØÁø ¹ÙÀÌÆ®¼ö¿¡ ¸ÂÃß¾î ÇÊ¿äÇϸé Ä¿Áý´Ï´Ù. ÆÄÀÏ À§Ä¡´Â ½ÇÁ¦·Î ±âÀÔÇØÁø ¹ÙÀÌÆ®¼ö¿¡ ÇØ °»½ÅµË´Ï´Ù. ±× ÀÌ¿ÜÀÇ Á¡À¸·Î½á, ÀÌ ¸Þ¼­µå´Â GatheringByteChannel ÀÎÅÍÆäÀ̽ºÀÇ ÁöÁ¤´ë·Î µ¿ÀÛÇÕ´Ï´Ù.

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

position

public abstract long position()
                       throws IOException 
ÀÌ Ã¤³ÎÀÇ ÆÄÀÏ À§Ä¡¸¦ µ¹·ÁÁÝ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ Ã¤³ÎÀÇ ÆÄÀÏ À§Ä¡. ÆÄÀÏÀÇ ¼±µÎ·ÎºÎÅÍ ÇöÀç À§Ä¡±îÁöÀÇ ¹ÙÀÌÆ®¼ö¸¦ ³ªÅ¸³»´Â ºÎ°¡ ¾Æ´Ñ Á¤¼ö
¿¹¿Ü:
ClosedChannelException - ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ì
IOException - ±× ¿ÜÀÇ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì

position

public abstract FileChannel  position(long newPosition)
                              throws IOException 
ÀÌ Ã¤³ÎÀÇ ÆÄÀÏ À§Ä¡¸¦ ¼³Á¤ÇÕ´Ï´Ù.

À§Ä¡ÀÇ °ªÀ» ÆÄÀÏÀÇ ÇöÀçÀÇ »çÀÌÁ´Ù Å« °ªÀ¸·Î ¼³Á¤ÇÏ´Â °ÍÀº Á¤´çÇÑ Ã³¸®ÀÔ´Ï´Ù. ±×·¯³ª, ÀÌ Ã³¸®¿¡ ÇØ ÆÄÀÏÀÇ »çÀÌÁî°¡ º¯°æµÇ´Â °ÍÀº ¾Æ´Õ´Ï´Ù. ÆÄÀÏÀÇ ÇöÀçÀÇ »çÀÌÁ´Ù Å« °ªÀÌ ¼³Á¤µÇ¾î ÀÖ´Â À§Ä¡¿¡¼­ ¹ÙÀÌÆ®¸¦ Àо·Á°í Çϸé, Áï¼®¿¡¼­ ÆÄÀÏÀÇ ¸¶Áö¸·ÀÌ ÅëÁöµË´Ï´Ù. °°Àº À§Ä¡¿¡¼­ ¹ÙÀÌÆ®¸¦ ±âÀÔÇÏ·Á°í Çϸé, »õ·Î¿î ¹ÙÀÌÆ®¿¡ ¸ÂÃß¾î ÆÄÀÏÀÇ »çÀÌÁî°¡ Ä¿Áý´Ï´Ù. ÀÌÀüÀÇ ÆÄÀÏÀÇ ¸¶Áö¸·À¸·ÎºÎÅÍ »õ·Ó°Ô ±âÀÔÇØÁø ¹ÙÀÌÆ®±îÁöÀÇ »çÀÌ¿¡ Á¸ÀçÇÏ´Â ¹ÙÀÌÆ®ÀÇ °ªÀº ¹ÌÁöÁ¤ÀÔ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
newPosition - »õ·Î¿î À§Ä¡. ÆÄÀÏÀÇ ¼±µÎ·ÎºÎÅÍÀÇ ¹ÙÀÌÆ®¼ö¸¦ ³ªÅ¸³»´Â ºÎ°¡ ¾Æ´Ñ Á¤¼ö
¹Ýȯ°ª:
ÀÌ ÆÄÀÏ Ã¤³Î
¿¹¿Ü:
ClosedChannelException - ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ì
IllegalArgumentException - »õ·Î¿î À§Ä¡°¡ ºÎÀÇ °ªÀÇ °æ¿ì
IOException - ±× ¿ÜÀÇ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì

size

public abstract long size()
                   throws IOException 
ÀÌ Ã¤³ÎÀÇ ÆÄÀÏÀÇ ÇöÀçÀÇ »çÀÌÁ µ¹·ÁÁÝ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ Ã¤³ÎÀÇ ÆÄÀÏÀÇ ÇöÀçÀÇ »çÀÌÁî (¹ÙÀÌÆ® ´ÜÀ§)
¿¹¿Ü:
ClosedChannelException - ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ì
IOException - ±× ¿ÜÀÇ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì

truncate

public abstract FileChannel  truncate(long size)
                              throws IOException 
ÀÌ Ã¤³ÎÀÇ ÆÄÀÏÀÇ ¸»¹Ì¸¦ Àß¶ó ¹ö·Á ÁöÁ¤µÈ »çÀÌÁî·Î ÇÕ´Ï´Ù.

ÁöÁ¤µÈ »çÀÌÁî°¡ ÇöÀçÀÇ ÆÄÀÏ »çÀÌÁ´Ù ÀÛÀº °æ¿ì, ÆÄÀÏÀÇ ¸»¹Ì¸¦ Àß¶ó ¹ö¸± ¼ö ÀÖ¾î »õ·Î¿î ÆÄÀÏÀÇ ¸¶Áö¸·¿¡ µé¾î°¡Áö ¾Ê´Â ¹ÙÀÌÆ®°¡ ÆÄ±âµË´Ï´Ù. ÁöÁ¤µÈ »çÀÌÁî°¡ ÇöÀçÀÇ ÆÄÀÏ »çÀÌÁî¿Í °°Àº°¡, ±×°Íº¸´Ù Å« °æ¿ì, ÆÄÀÏ »çÀÌÁî´Â º¯°æµÇÁö ¾Ê½À´Ï´Ù. ¾î´À ÂÊÀÇ °æ¿ìµµ, ÀÌ Ã¤³ÎÀÇ ÆÄÀÏ À§Ä¡°¡ ÁöÁ¤µÈ »çÀÌÁ´Ù Å« °æ¿ì, ±× »çÀÌÁî¿¡ ¸ÂÃß¾î ÆÄÀÏ »çÀÌÁî°¡ º¯°æµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
size - »õ·Î¿î »çÀÌÁî. ºÎ°¡ ¾Æ´Ñ ¹ÙÀÌÆ®¼ö
¹Ýȯ°ª:
ÀÌ ÆÄÀÏ Ã¤³Î
¿¹¿Ü:
NonWritableChannelException - ÀÌ Ã¤³ÎÀÌ ±âÀÔÇØ °¡´ÉÇÏÁö ¾ÊÀº °æ¿ì
ClosedChannelException - ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ì
IllegalArgumentException - »õ·Î¿î »çÀÌÁî°¡ ºÎÀÇ °ªÀÇ °æ¿ì
IOException - ±× ¿ÜÀÇ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì

force

public abstract void force(boolean metaData)
                    throws IOException 
ÀÌ Ã¤³ÎÀÇ ÆÄÀÏÀÇ °»½Å ³»¿ëÀº, ±× ±â¾ïÀåÄ¡¿¡ °­Á¦ÀûÀ¸·Î ±âÀÔÇØÁý´Ï´Ù.

ÀÌ Ã¤³ÎÀÇ ÆÄÀÏÀÌ ·ÎÄÃÀÇ ±â¾ïÀåÄ¡»ó¿¡ ÀÖ´Â °æ¿ì, ÀÌ ¸Þ¼­µåÀÇ ¹Ýȯ°ªÀ¸·ÎºÎÅÍ, ÀÌ Ã¤³ÎÀÇ ÀÛ¼º½Ã ¶Ç´Â ÀÌ ¸Þ¼­µåÀÇ Á¦ÀÏ ÃÖ±ÙÀÇ È£ÃâÇØ ÀÌÈÄÀÇ ÆÄÀÏÀÇ º¯°æ ³»¿ëÀÌ ¸ðµÎ ±× µð¹ÙÀ̽º¿¡ ±âÀÔÇØÁö°í ÀÖ´Â °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¹æ¹ý¿¡ ÇØ, ½Ã½ºÅÛÀÌ Å©·¡½¬ ÇßÀ» ¶§, Áß¿äÇÑ Á¤º¸¸¦ ¼Õ½Ç·ÎºÎÅÍ º¸È£ÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÇÑÆí, ÆÄÀÏÀÌ ·ÎÄÃÀÇ ±â¾ïÀåÄ¡»ó¿¡ ¾ø´Â °æ¿ì, ±âÀÔÀº ÇàÇØÁöÁö ¾Ê½À´Ï´Ù.

metaData ÆÄ¶ó¹ÌÅ͸¦ »ç¿ëÇØ, ÀÌ ¸Þ¼­µå·Î ½ÇÇàÇØ¾ß ÇÏ´Â ÀÔÃâ·Â Á¶ÀÛÀÇ ¼ö¸¦ Á¦ÇÑÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ÆÄ¶ó¹ÌÅÍ¿¡ false¸¦ °Ç³×ÁÖ¾úÀ» °æ¿ì, ±â¾ïÀåÄ¡¿¡ ±âÀÔÇÒ Çʿ䰡 ÀÖ´Â °ÍÀº, ÆÄÀÏÀÇ ÄÁÅÙÃ÷ÀÇ °»½Å ³»¿ë »ÓÀÔ´Ï´Ù. true¸¦ °Ç³×ÁÖ¾úÀ» °æ¿ì´Â ÆÄÀÏÀÇ ÄÁÅÙÃ÷¿Í ¸ÞŸµ¥ÀÌŸÀÇ °»½Å ³»¿ëÀ» ±âÀÔÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. À̰Ϳ¡´Â º¸Åë 1 °³ ÀÌ»óÀÇ ÀÔÃâ·Â Á¶ÀÛÀÌ ÇÊ¿äÇÕ´Ï´Ù. ÀÌ ÆÄ¶ó¹ÌÅÍ¿¡ ½ÇÈ¿¼ºÀÌ ÀÖÀ»Áö ¾î¶³Áö´Â ±âÃʰ¡ µÇ´Â operating system¿¡ ÇØ Á¤ÇØÁö±â ¶§¹®¿¡ ¹ÌÁöÁ¤ÀÔ´Ï´Ù.

ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇϸé, ä³ÎÀÌ Àоîµé¿© Àü¿ëÀ̾ ÀÔÃâ·Â Á¶ÀÛÀÌ ¹ß»ýÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ÆÄÀÏÀÇ ¸ÞŸµ¥ÀÌŸ·Î¼­ ÃÖÁ¾ ¾×¼¼½º ½Ã°¢À» º¸Á¸ÇØ, ÆÄÀÏÀÇ ÀÐÀ» ¿©Çà¿¡ °»½ÅÇÏ´Â °Í °°Àº operating systemµµ ÀÖ½À´Ï´Ù. ÀÌ Ã³¸®°¡ ½ÇÁ¦·Î ÇàÇØÁúÁö ¾î¶³Áö´Â ½Ã½ºÅÛ¿¡ ÇØ Á¤ÇØÁö±â ¶§¹®¿¡ ¹ÌÁöÁ¤ÀÔ´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â ÀÌ Å¬·¡½º¿¡ Á¤ÀÇµÈ ¸Þ¼­µå¿¡ ÇØ ÀÌ Ã¤³ÎÀÇ ÆÄÀÏ¿¡ ´õÇØÁø º¯°æÀ» °­Á¦ÇÒ »ÓÀÔ´Ï´Ù. map ¸Þ¼­µå È£Ãâ¿¡ ÇØ ÃëµæÇÑ¸Ê µÈ byte ¹öÆÛ ÄÁÅÙÃ÷ÀÇ º¯°æ¿¡ ÇØ »ý±â´Â º¯°æÀº, ¹Ýµå½Ã °­Á¦´çÇÏÁö ¾Ê½À´Ï´Ù. ¸Ê µÈ byte ¹öÆÛÀÇ force ¸Þ¼­µå¸¦ È£ÃâÇϸé, ¹öÆÛ ÄÁÅÙÃ÷¿¡ ´ëÇÑ º¯°æ ³»¿ëÀÌ °­Á¦ÀûÀ¸·Î ±âÀÔÇØÁý´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
metaData - true °æ¿ì, ÀÌ ¸Þ¼­µå´Â ÆÄÀÏÀÇ ÄÁÅÙÃ÷ ¹× ¸ÞŸµ¥ÀÌŸ¸¦ ±â¾ïÀåÄ¡¿¡ °­Á¦ÀûÀ¸·Î ±âÀÔÇÒ Çʿ䰡 ÀÖ´Ù. ±× ¿ÜÀÇ °æ¿ì´Â ÄÁÅÙÃ÷ÀÇ º¯°æ¸¸À» °­Á¦ÀûÀ¸·Î ±âÀÔÇÑ´Ù
¿¹¿Ü:
ClosedChannelException - ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ì
IOException - ±× ¿ÜÀÇ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì

transferTo

public abstract long transferTo(long position,
                                long count,
                                WritableByteChannel  target)
                         throws IOException 
ÀÌ Ã¤³ÎÀÇ ÆÄÀϷκÎÅÍ ÁöÁ¤µÈ ±âÀÔ °¡´ÉÇÑ ¹ÙÀÌÆ® ä³Î¿¡ ¹ÙÀÌÆ®¸¦ Àü¼Û ÇÕ´Ï´Ù.

ÀÌ Ã¤³ÎÀÇ ÆÄÀÏÀÇ ÁöÁ¤µÈ position ·ÎºÎÅÍ ÃÖ´ë count ¹ÙÀÌÆ®¸¦ Àоîµé¿©, Ÿ°Ù ä³Î¿¡ ±âÀÔÇÏ·Á°í ÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇØµµ, ±× ä³ÎÀÇ º»·¡ÀÇ ¼ºÁúÀ̳ª »óÅ¿¡ ÇØ, ¿ä±¸µÈ ¹ÙÀÌÆ®ÀÇ ÀϺΰ¡ Àü¼Û µÇÁö ¾Ê´Â °æ¿ìµµ ÀÖ½À´Ï´Ù. ÀÌ Ã¤³ÎÀÇ ÆÄÀÏÀÇ ¹ÙÀÌÆ®¼ö°¡, ÁöÁ¤µÈ position ·ÎºÎÅÍ ½ÃÀ۵Ǵ count º¸´Ù ÀûÀº °æ¿ì³ª, Ÿ°Ù ä³ÎÀÌ ºñºí·Ï ¸ðµå·Î Ãâ·Â ¹öÆÛ³»ÀÇ ºó¹ÙÀÌÆ®¼ö°¡ count º¸´Ù ÀûÀº °æ¿ì, Àü¼Û µÇ´Â ¹ÙÀÌÆ®¼ö´Â ¿ä±¸µÈ ¹ÙÀÌÆ®¼öº¸´Ù Àû°Ô µË´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â ÀÌ Ã¤³ÎÀÇ À§Ä¡¸¦ º¯°æÇÏÁö ¾Ê½À´Ï´Ù. ÁöÁ¤µÈ À§Ä¡°¡ ÆÄÀÏÀÇ ÇöÀçÀÇ »çÀÌÁ´Ù Å« °æ¿ì, ¹ÙÀÌÆ®´Â ÀÏÀý Àü¼Û µÇÁö ¾Ê½À´Ï´Ù. Ÿ°Ù ä³Î¿¡ À§Ä¡°¡ ÁöÁ¤µÇ°í ÀÖ´Â °æ¿ì, ¹ÙÀÌÆ®´Â ±× À§Ä¡·ÎºÎÅÍ ±âÀÔÇØÁý´Ï´Ù. ±× ÈÄ, ±âÀÔÇØÁø ¹ÙÀÌÆ®¼ö¿¡ ¸ÂÃß¾î À§Ä¡°¡ Áõ°¡ÇÕ´Ï´Ù.

ÀÌ Ã¤³Î·ÎºÎÅÍ µ¥ÀÌÅ͸¦ Àоîµé¿© Ÿ°Ù ä³Î¿¡ ±âÀÔÇÑ´Ù°í ÇÏ´Â ´Ü¼øÇÑ ·çÇÁº¸´Ù, ÀÌ ¸Þ¼­µå ÂÊÀÌ Âß È¿À²ÀûÀ¸·Î ó¸®ÇÒ ¼ö ÀÖÀ» °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. ¸¹Àº operating system´Â ÆÄÀÏ ½Ã½ºÅÛ Ä³½¬·ÎºÎÅÍ Å¸°Ù ä³Î¿¡ ¹ÙÀÌÆ®¸¦ Á÷Á¢ Àü¼Û ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¶§, ¹ÙÀÌÆ®ÀÇ Ä«ÇÇ´Â ÇàÇØÁöÁö ¾Ê½À´Ï´Ù.

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

transferFrom

public abstract long transferFrom(ReadableByteChannel  src,
                                  long position,
                                  long count)
                           throws IOException 
ÁöÁ¤µÈ read °¡´ÉÇÑ ¹ÙÀÌÆ® ä³Î·ÎºÎÅÍ ÀÌ Ã¤³ÎÀÇ ÆÄÀÏ¿¡ ¹ÙÀÌÆ®¸¦ Àü¼Û ÇÕ´Ï´Ù.

¼Ò½º ä³Î·ÎºÎÅÍ ÃÖ´ë count ¹ÙÀÌÆ®¸¦ Àоîµé¿©, ÀÌ Ã¤³ÎÀÇ ÆÄÀÏÀÇ ÁöÁ¤µÈ position ¿¡ ±âÀÔÇÏ·Á°í ÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇØµµ, ä³ÎÀÇ º»·¡ÀÇ ¼ºÁúÀ̳ª »óÅ¿¡ ÇØ, ¿ä±¸µÈ ¹ÙÀÌÆ®ÀÇ ÀϺΰ¡ Àü¼Û µÇÁö ¾Ê´Â °æ¿ìµµ ÀÖ½À´Ï´Ù. ¼Ò½º ä³ÎÀÇ ¹ÙÀÌÆ®¼ö°¡ count º¸´Ù ÀûÀº °æ¿ì³ª, ¼Ò½º ä³ÎÀÌ ºñºí·Ï ¸ðµå·Î ÀÔ·Â ¹öÆÛ³»¿¡ ³²¾Æ ÀÖ´Â °ð¹Ù·Î ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ºó¹ÙÀÌÆ®¼ö°¡ count º¸´Ù ÀûÀº °æ¿ì, Àü¼Û µÇ´Â ¹ÙÀÌÆ®¼ö´Â ¿ä±¸µÈ ¹ÙÀÌÆ®¼öº¸´Ù Àû°Ô µË´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â ÀÌ Ã¤³ÎÀÇ À§Ä¡¸¦ º¯°æÇÏÁö ¾Ê½À´Ï´Ù. ÁöÁ¤µÈ À§Ä¡°¡ ÆÄÀÏÀÇ ÇöÀçÀÇ »çÀÌÁ´Ù Å« °æ¿ì, ¹ÙÀÌÆ®´Â ÀÏÀý Àü¼Û µÇÁö ¾Ê½À´Ï´Ù. ¼Ò½º ä³Î¿¡ À§Ä¡°¡ ÁöÁ¤µÇ°í ÀÖ´Â °æ¿ì, ¹ÙÀÌÆ®´Â ±× À§Ä¡·ÎºÎÅÍ ÀоÁý´Ï´Ù. ±× ÈÄ, ÀоÁø ¹ÙÀÌÆ®¼ö¿¡ ¸ÂÃß¾î À§Ä¡°¡ Áõ°¡ÇÕ´Ï´Ù.

¼Ò½º ä³Î·ÎºÎÅÍ µ¥ÀÌÅ͸¦ Àоîµé¿© ÀÌ Ã¤³Î¿¡ ±âÀÔÇÑ´Ù°í ÇÏ´Â ´Ü¼øÇÑ ·çÇÁº¸´Ù, ÀÌ ¸Þ¼­µå ÂÊÀÌ Âß È¿À²ÀûÀ¸·Î ó¸®ÇÒ ¼ö ÀÖÀ» °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. ¸¹Àº operating system´Â ¼Ò½º ä³Î·ÎºÎÅÍ ÆÄÀÏ ½Ã½ºÅÛ Ä³½¬¿¡ ¹ÙÀÌÆ®¸¦ Á÷Á¢ Àü¼Û ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¶§, ¹ÙÀÌÆ®ÀÇ Ä«ÇÇ´Â ÇàÇØÁöÁö ¾Ê½À´Ï´Ù.

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

read

public abstract int read(ByteBuffer  dst,
                         long position)
                  throws IOException 
ÀÌ Ã¤³ÎÀÇ ¹ÙÀÌÆ® ¼ø¼­¸¦, ÁöÁ¤µÈ ÆÄÀÏ À§Ä¡·ÎºÎÅÍ ¹öÆÛ¿¡ ÀоîµéÀÔ´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â ¹ÙÀÌÆ®°¡ ä³ÎÀÇ ÇöÀç À§Ä¡´Â ¾Æ´Ï°í ÁöÁ¤µÈ ÆÄÀÏ À§Ä¡·ÎºÎÅÍ ÀоÁø´Ù°í ÇÏ´Â Á¡À» Á¦¿ÜÇϸé,read(ByteBuffer) ¸Þ¼­µå¿Í °°½À´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÀÌ Ã¤³ÎÀÇ À§Ä¡¸¦ º¯°æÇÏÁö ¾Ê½À´Ï´Ù. ÁöÁ¤µÈ À§Ä¡°¡ ÆÄÀÏÀÇ ÇöÀçÀÇ »çÀÌÁ´Ù Å« °æ¿ì, ¹ÙÀÌÆ®´Â ÀÏÀý ÀоÁöÁö ¾Ê½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
dst - ¹ÙÀÌÆ®ÀÇ Àü¼Ûó ¹öÆÛ
position - Àü¼ÛÀÌ °³½ÃµÇ´Â ÆÄÀÏ À§Ä¡. ºÎÀÇ °ª ÀÌ¿Ü
¹Ýȯ°ª:
ÀоÁö´Â ¹ÙÀÌÆ®¼ö. Á¦·ÎÀΰ¡, ÁöÁ¤µÈ À§Ä¡°¡ ÆÄÀÏÀÇ ÇöÀçÀÇ »çÀÌÁî ÀÌ»óÀÇ °æ¿ì´Â -1
¿¹¿Ü:
IllegalArgumentException - À§Ä¡°¡ ºÎÀÇ °ªÀÇ °æ¿ì
NonReadableChannelException - ÀÌ Ã¤³ÎÀÌ Àоîµé¿© °¡´ÉÇÏÁö ¾ÊÀº °æ¿ì
ClosedChannelException - ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ì
AsynchronousCloseException - read Á¶ÀÛÀÇ ÁøÇàÁß¿¡ ´Ù¸¥ thread¿¡ ÇØ ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî µÇ¾úÀ» °æ¿ì
ClosedByInterruptException - read Á¶ÀÛÀÇ ÁøÇàÁß¿¡ ´Ù¸¥ thread·ÎºÎÅÍÀÇ ÀÎÅÍ·´Æ®°¡ ÀÖ¾ú±â ¶§¹®¿¡ ä³ÎÀÌ Å¬·Î¿ìÁî ÇØ, ÇöÀçÀÇ threadÀÇ ÀÎÅÍ·´Æ® »óŰ¡ ¼³Á¤µÇ¾úÀ» °æ¿ì
IOException - ±× ¿ÜÀÇ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì

write

public abstract int write(ByteBuffer  src,
                          long position)
                   throws IOException 
ÁöÁ¤µÈ ¹öÆÛÀÇ ¹ÙÀÌÆ® ¼ø¼­¸¦ ÀÌ Ã¤³ÎÀÇ ÁöÁ¤µÈ ÆÄÀÏ À§Ä¡¿¡ ±âÀÔÇÕ´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â ¹ÙÀÌÆ®°¡ ä³ÎÀÇ ÇöÀç À§Ä¡´Â ¾Æ´Ï°í ÁöÁ¤µÈ ÆÄÀÏ À§Ä¡·ÎºÎÅÍ ±âÀÔÇØÁø´Ù°í ÇÏ´Â Á¡À» Á¦¿ÜÇϸé,write(ByteBuffer) ¸Þ¼­µå¿Í °°½À´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÀÌ Ã¤³ÎÀÇ À§Ä¡¸¦ º¯°æÇÏÁö ¾Ê½À´Ï´Ù. ÁöÁ¤µÈ À§Ä¡°¡ ÇöÀçÀÇ ÆÄÀÏ »çÀÌÁ´Ù Å« °æ¿ì, ÆÄÀÏ »çÀÌÁî´Â »õ·Î¿î ¹ÙÀÌÆ®¿¡ ¸ÂÃß¾î Ä¿Áý´Ï´Ù. ÀÌÀüÀÇ ÆÄÀÏÀÇ ¸¶Áö¸·°ú »õ·Ó°Ô ±âÀÔÇØÁø ¹ÙÀÌÆ®ÀÇ »çÀÌÀÇ ¹ÙÀÌÆ®ÀÇ °ªÀº ¹ÌÁöÁ¤ÀÔ´Ï´Ù.

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

map

public abstract MappedByteBuffer  map(FileChannel.MapMode  mode,
                                     long position,
                                     long size)
                              throws IOException 
ÀÌ Ã¤³ÎÀÇ ÆÄÀÏÀÇ ¿µ¿ªÀ» Á÷Á¢ ¸Þ¸ð¸®¿¡ ¸ÅÇÎ ÇÕ´Ï´Ù.

ÆÄÀÏÀÇ ¿µ¿ªÀ» ¸Þ¸ð¸®¿¡ ¸ÅÇÎ Çϴ ó¸®´Â ´ÙÀ½ÀÇ 3 °³ÀÇ ¸ðµå ÃÄ ¾î´ÀÂÊÀ̵çÀ¸·Î ÇàÇØÁý´Ï´Ù.

ÀÌ Ã¤³ÎÀº, read Àü¿ëÀÇ ¸ÅÇÎÀÇ °æ¿ì´Â Àоîµé¿©, read/±âÀÔÀÇ ¸ÅÇÎ ¶Ç´Â ºñ°ø°³ ¸ÅÇÎÀÇ °æ¿ì´Â read¿Í ±âÀÔÀÇ ¾çÂÊ ¸ðµÎ°¡ °¡´ÉÇÏ°Ô µÇÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.

ÀÌ ¸Þ¼­µå°¡ µ¹·ÁÁÖ´Â¸Ê µÈ byte ¹öÆÛ À§Ä¡´Â Á¦·Î ¸®¹ÔÆ®¿Í ¿ë·®Àº size ÀÔ´Ï´Ù. ¸¶Å©´Â ¹ÌÁ¤µµ¸®°¡ µË´Ï´Ù. ¹öÆÛ¿Í ÀÌ ¹öÆÛ°¡ °¡¸®Å°´Â ¸ÅÇÎÀº, ¹öÆÛ ÀÚü°¡ °¡ºñÁö Ä÷ºÆ®µÉ ¶§±îÁö À¯È¿ÇÕ´Ï´Ù.

¸ÅÇÎÀÇ °á°ú´Â ±× ÀÛ¼º¿¡ »ç¿ëµÈ ÆÄÀÏ Ã¤³Î¿¡´Â Á¸ÇÏÁö ¾Ê½À´Ï´Ù. ¿¹¸¦ µé¾î, ä³ÎÀ» Ŭ·Î¿ìÁî ÇØµµ, ¸ÅÇÎÀÇ À¯È¿¼ºÀº ¹Ù²îÁö ¾Ê½À´Ï´Ù.

¸¹Àº °æ¿ì, ¸Þ¸ð¸®¿¡ ¸ÅÇÎ µÈ ÆÄÀÏÀÇ ÀÚ¼¼ÇÑ °ÍÀº, º»ÁúÀûÀ¸·Î ±âÃʰ¡ µÇ´Â operating system¿¡ Á¸Çϱâ À§ÇØ, ¹ÌÁöÁ¤ÀÔ´Ï´Ù. ¿ä±¸µÈ ¿µ¿ªÀÌ ÀÌ Ã¤³ÎÀÇ ÆÄÀϳ»¿¡ ¿ÏÀüÇϰԴ Æ÷ÇÔµÇÁö ¾ÊÀº °æ¿ì, ÀÌ ¸Þ¼­µåÀÇ µ¿ÀÛÀº ¹ÌÁöÁ¤ÀÔ´Ï´Ù. ±âÃʰ¡ µÇ´Â ÆÄÀÏÀÇ ÄÁÅÙÃ÷ ¶Ç´Â »çÀÌÁîÀÇ ¾î´À ÂÊÀÌ º¯°æµÇ¾ú´ÂÁö, ÀÌ ÇÁ·Î±×·¥¿¡ ÇÑ º¯°æ ¶Ç´Â ´Ù¸¥ ÇÁ·Î±×·¥¿¡ ÇÑ º¯°æÀÇ ¾î´À ÂÊÀÎÁö ¹×, º¯°æÀÌ ¹öÆÛ¿¡ Àü´ÞµÉÁö ¾î¶³Áö´Â ¹ÌÁöÁ¤ÀÔ´Ï´Ù.

´ëºÎºÐÀÇ operating system¿¡¼­´Â ÆÄÀÏÀ» ¸Þ¸ð¸®¿¡ ¸ÅÇÎ ÇÏ´Â ÆíÀÌ, º¸Åë ÀÇ read ¸Þ¼­µå ¶Ç´Â write ¸Þ¼­µå¸¦ »ç¿ëÇØ ¼ö½Ê ų·Î¹ÙÀÌÆ®ÀÇ µ¥ÀÌÅÍÀÇ Àоîµé¿© ¶Ç´Â write¸¦ ½Ç½ÃÇÏ´Â °Íº¸´Ùµµ ºÎÇϰ¡ Ä¿Áý´Ï´Ù. ¼º´ÉÀ» Áß½ÃÇÑ´Ù¸é, ºñ±³Àû Å« ÆÄÀϸ¸À» ¸ÅÇÎ ÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
mode - ÆÄÀÏÀÇ ¸ÅÇÎÀ» Àоîµé¿© Àü¿ë ¸ðµå·Î ½Ç½ÃÇÏ´Â °æ¿ì´Â FileChannel.MapMode Ŭ·¡½º¿¡ Á¤Àǵǰí ÀÖ´Â Á¤¼ö READ_ONLY, Àоîµé¿©/±âÀÔ ¸ðµå·Î ½Ç½ÃÇÏ´Â °æ¿ì´Â µ¿Å¬·¡½º¿¡ Á¤Àǵǰí ÀÖ´Â Á¤¼ö READ_WRITE, ºñ°ø°³ (copy-on-write) ¸ðµå·Î ½Ç½ÃÇÏ´Â °æ¿ì´Â µ¿Å¬·¡½º¿¡ Á¤Àǵǰí ÀÖ´Â Á¤¼ö PRIVATE
position - ÆÄÀϳ»ÀÇ ¸ÅÇÎ µÈ ¿µ¿ªÀÇ °³½Ã À§Ä¡. ºÎÀÇ °ª ÀÌ¿Ü
size - ¸ÅÇÎ µÇ´Â ¿µ¿ªÀÇ »çÀÌÁî. Á¦·Î ÀÌ»ó,Integer.MAX_VALUE ÀÌÇÏÀÇ °ª
¿¹¿Ü:
NonReadableChannelException - mode °¡ READ_ONLY Àε¥, ä³ÎÀÌ Àоîµé¿© ºÒ°¡ »óŰ¡ µÇ¾î ÀÖ¾úÀ» °æ¿ì
NonWritableChannelException - mode °¡ READ_WRITE ¶Ç´Â PRIVATE Àε¥, ä³ÎÀÌ Àоîµé¿©/±âÀÔ ºÒ°¡ »óŰ¡ µÇ¾î ÀÖ¾úÀ» °æ¿ì
IllegalArgumentException - »ó±âÀÇ ÆÄ¶ó¹ÌÅÍÀÇ ÀüÁ¦ Á¶°ÇÀÌ Ã¤¿öÁöÁö ¾ÊÀº °æ¿ì
IOException - ±× ¿ÜÀÇ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
°ü·Ã Ç׸ñ:
FileChannel.MapMode, MappedByteBuffer

lock

public abstract FileLock  lock(long position,
                              long size,
                              boolean shared)
                       throws IOException 
ÀÌ Ã¤³ÎÀÇ ÆÄÀÏÀÇ ÁöÁ¤µÈ ¿µ¿ªÀ» Àá±Þ´Ï´Ù.

ÀÌ ¸Þ¼­µåÀÇ È£ÃâÀº, ¿µ¿ªÀÌ ¶ô µÇ´ÂÁö, ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî µÇ´ÂÁö, threadÀÇ È£ÃâÇØ¿¡ ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇÒ ¶§±îÁö ºí·Ï µË´Ï´Ù.

ÀÌ ¸Þ¼­µåÀÇ È£ÃâÁß¿¡ ÀÌ Ã¤³ÎÀÌ ´Ù¸¥ thread¿¡ ÇØ Ŭ·Î¿ìÁî µÇ¸é,AsynchronousCloseException °¡ Throw µË´Ï´Ù.

¶ôÀÇ È¹µæÀ» ´ë±âÁß¿¡ thread È£ÃâÇØ¿¡ ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇßÀ» °æ¿ì, ÀÎÅÍ·´Æ® »óŰ¡ ¼³Á¤µÇ¾îFileLockInterruptionException °¡ Throw µË´Ï´Ù. ÀÌ ¸Þ¼­µåÀÇ È£Ãâ½Ã¿¡ È£ÃâÇØ ¿øÀÇ ÀÎÅÍ·´Æ® »óŰ¡ ¼³Á¤µÇ¸é, Áï½Ã ¿¹¿Ü°¡ Throw µË´Ï´Ù. threadÀÇ ÀÎÅÍ·´Æ® »óÅ´ º¯°æµÇÁö ¾Ê½À´Ï´Ù.

position ÆÄ¶ó¹ÌÅÍ¿Í size ÆÄ¶ó¹ÌÅÍ·Î ÁöÁ¤µÈ ¿µ¿ªÀÌ, ±âÃÊ¿¡ ÀÖ´Â ÆÄÀÏ¿¡ Æ÷ÇԵǾî Àְųª, ±× ÆÄÀϰú ¿À¹ö·¦ Çϰųª Çϰí ÀÖÀ» ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ¶ô ¿µ¿ªÀÇ »çÀÌÁî´Â °íÁ¤ÀÔ´Ï´Ù. Ãʱ⠻óÅ¿¡¼­´Â ÆÄÀÏÀÇ ¸¶Áö¸·ÀÌ ¶ô ¿µ¿ª³»¿¡ Æ÷ÇԵǾî À־, ÆÄÀÏ »çÀÌÁî°¡ ÀÌ ¿µ¿ª¿¡¼­(º¸´Ù) Ä¿Á® ¹ö·ÈÀ» °æ¿ì, »õ·Î¿î ºÎºÐ¿¡´Â ¶ôÀÌ Àû¿ëµÇÁö ¾Ê½À´Ï´Ù. ÆÄÀÏ Àüü¿¡ ¶ôÀ» Àû¿ëÇÒ Çʿ䰡 ÀÖ´Â °Í¿¡µµ ºÒ±¸Çϰí, ÆÄÀÏ »çÀÌÁî°¡ Ä¿Áú °¡´É¼ºÀÌ ÀÖ´Â °æ¿ì´Â Á¦·Î·ÎºÎÅÍ ¿¹ÃøµÇ´Â ÃÖ´ë ÆÄÀÏ »çÀÌÁî ÀÌ»ó±îÁöÀÇ ¿µ¿ªÀ» Àá±Þ´Ï´Ù. Á¦·Î ÀμöÀÇ lock() ¸Þ¼­µå´Â ´Ü¼øÇÏ°Ô »çÀÌÁî Long.MAX_VALUE ¿µ¿ªÀ» Àá±Þ´Ï´Ù.

°øÀ¯ ¶ôÀ» ¼­Æ÷Æ®ÇÏÁö ¾Ê´Â operating system¿¡¼­´Â °øÀ¯ ¶ô ¿ä±¸°¡ ¹èŸ ¶ô ¿ä±¸¿¡ ÀÚµ¿ÀûÀ¸·Î º¯È¯µË´Ï´Ù. »õ·Ó°Ô ȹµæÇÑ ¶ôÀÌ °øÀ¯ ¶ôÀÏ±î ¹èŸ ¶ôÀϱî´Â »ý¼ºµÇ´Â ¶ô ¿ÀºêÁ§Æ®ÀÇ isShared ¸Þ¼­µå¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î ÆÇ´ÜÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÆÄÀÏ ¶ôÀº Java °¡»ó ¸Ó½Å Àüü¸¦ À§Çؼ­ º¸°ü À¯ÁöµË´Ï´Ù. À̰͵éÀº, µ¿ÀÏ °¡»ó ¸Ó½Å³»ÀÇ º¹¼ö thread¿¡ ÇÑ ÆÄÀÏ¿¡ÀÇ ¾×¼¼½º¸¦ Á¦¾îÇϴµ¥´Â ÀûÇÕÇÏÁö ¾Ê½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
position - ¶ô ¿µ¿ªÀÌ °³½ÃµÇ´Â ÆÄÀÏ À§Ä¡. ºÎÀÇ °ª ÀÌ¿Ü
size - ¶ô ¿µ¿ªÀÇ »çÀÌÁî. ºÎÀÇ °ª ÀÌ¿Ü. position + size ÇÕ°èµµ ºÎÀÇ °ª ÀÌ¿Ü
shared - °øÀ¯ ¶ôÀ» ¿ä±¸ÇÏ´Â °æ¿ì´Â true. ÀÌ °æ¿ì, ÀÌ Ã¤³ÎÀº Àоîµé¿© (°æ¿ì¿¡ µû¶ó¼­´Â ±âÀÔµµ) °¡´ÉÇÏÁö ¾ÊÀ¸¸é ¾È µÈ´Ù. ¹èŸ ¶ôÀ» ¿ä±¸ÇÏ´Â °æ¿ì´Â false. ÀÌ °æ¿ì, ÀÌ Ã¤³ÎÀº ±âÀÔÇØ (°æ¿ì¿¡ µû¶ó¼­´Â readµµ) °¡´ÉÇÏÁö ¾ÊÀ¸¸é ¾È µÈ´Ù
¹Ýȯ°ª:
»õ·Î¿î ȹµæ ¶ôÀ» ³ªÅ¸³»´Â ¶ô ¿ÀºêÁ§Æ®
¿¹¿Ü:
IllegalArgumentException - »ó±âÀÇ ÆÄ¶ó¹ÌÅÍÀÇ ÀüÁ¦ Á¶°ÇÀÌ Ã¤¿öÁöÁö ¾ÊÀº °æ¿ì
ClosedChannelException - ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ì
AsynchronousCloseException - ÀÌ ¸Þ¼­µå³»¿¡¼­ thread È£ÃâÀÌ ºí·Ï µÇ°í ÀÖ´Â µ¿¾È¿¡ ´Ù¸¥ thread¿¡ ÇØ ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî µÇ¾úÀ» °æ¿ì
FileLockInterruptionException - È£Ãâ¿øthread°¡, ÀÌ ¸Þ¼­µå³»¿¡¼­ ºí·Ï µÇ°í ÀÖ´Â µ¿¾È¿¡ ÀÎÅÍ·´Æ®¸¦ ¹Þ¾ÒÀ» °æ¿ì
OverlappingFileLockException - ¿ä±¸µÈ ¿µ¿ªÀ» ¿À¹ö·¦ ÇÏ´Â ¶ôÀÌ ÀÌ Java °¡»ó ¸Ó½Å¿¡ ¹ú½á È®º¸µÇ°í ÀÖ´Â °æ¿ì, ¶Ç´Â ÀÌ ¸Þ¼­µå³»¿¡¼­ ºí·Ï µÇ°í ÀÖ´Â ´Ù¸¥ thread°¡ ¿À¹ö·¦ ÇÑ ¿µ¿ªÀ» Àá±×·Á Çϰí ÀÖ´Â °æ¿ì
NonReadableChannelException - shared °¡ true À̸é, ÀÌ Ã¤³ÎÀº Àоîµé¿© ºÒ°¡ »óÅÂ
NonWritableChannelException - shared °¡ false ÀÎ °Í¿¡µµ ºÒ±¸Çϰí, ÀÌ Ã¤³ÎÀÌ ±âÀÔÇØ ºÒ°¡ »óÅÂÀÎ °æ¿ì
IOException - ±× ¿ÜÀÇ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
°ü·Ã Ç׸ñ:
lock(), tryLock(), tryLock(long, long, boolean)

lock

public final FileLock  lock()
                    throws IOException 
ÀÌ Ã¤³ÎÀÇ ÆÄÀÏ»ó¿¡ ¹èŸ ¶ôÀ» ¼³Á¤ÇÕ´Ï´Ù.

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


     fc. lock (0L, Long.MAX_VALUE, false) 

¹Ýȯ°ª:
»õ·Î¿î ȹµæ ¶ôÀ» ³ªÅ¸³»´Â ¶ô ¿ÀºêÁ§Æ®
¿¹¿Ü:
ClosedChannelException - ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ì
AsynchronousCloseException - ÀÌ ¸Þ¼­µå³»¿¡¼­ thread È£ÃâÀÌ ºí·Ï µÇ°í ÀÖ´Â µ¿¾È¿¡ ´Ù¸¥ thread¿¡ ÇØ ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî µÇ¾úÀ» °æ¿ì
FileLockInterruptionException - È£Ãâ¿øthread°¡, ÀÌ ¸Þ¼­µå³»¿¡¼­ ºí·Ï µÇ°í ÀÖ´Â µ¿¾È¿¡ ÀÎÅÍ·´Æ®¸¦ ¹Þ¾ÒÀ» °æ¿ì
OverlappingFileLockException - ¿ä±¸µÈ ¿µ¿ªÀ» ¿À¹ö·¦ ÇÏ´Â ¶ôÀÌ ÀÌ Java °¡»ó ¸Ó½Å¿¡ ¹ú½á È®º¸µÇ°í ÀÖ´Â °æ¿ì, ¶Ç´Â ÀÌ ¸Þ¼­µå³»¿¡¼­ ºí·Ï µÇ°í ÀÖ´Â ´Ù¸¥ thread°¡ °°Àº ÆÄÀÏÀÇ ¿À¹ö·¦ ÇÑ ¿µ¿ªÀ» Àá±×·Á Çϰí ÀÖ´Â °æ¿ì
NonReadableChannelException - shared °¡ true À̸é, ÀÌ Ã¤³ÎÀº Àоîµé¿© ºÒ°¡ »óÅÂ
NonWritableChannelException - shared °¡ false ÀÎ °Í¿¡µµ ºÒ±¸Çϰí, ÀÌ Ã¤³ÎÀÌ ±âÀÔÇØ ºÒ°¡ »óÅÂÀÎ °æ¿ì
IOException - ±× ¿ÜÀÇ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
°ü·Ã Ç׸ñ:
lock(long, long, boolean), tryLock(), tryLock(long, long, boolean)

tryLock

public abstract FileLock  tryLock(long position,
                                 long size,
                                 boolean shared)
                          throws IOException 
ÀÌ Ã¤³ÎÀÇ ÆÄÀÏÀÇ ÁöÁ¤µÈ ¿µ¿ª¿¡¼­ ¶ôÀ» ȹµæÇÏ·Á°í ÇÕ´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â ºí·Ï µÇÁö ¾Ê½À´Ï´Ù. ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇϸé, ¿ä±¸µÈ ¿µ¿ª¿¡¼­ ¶ôÀ» ȹµæÇß´ÂÁö, ¶ôÀÇ È¹µæ¿¡ ½ÇÆÐÇß´ÂÁö¸¦ ³ªÅ¸³»´Â °á°ú°¡ Áï½Ã µ¹·ÁÁÖ°íÁý´Ï´Ù. ¿À¹ö·¦ ÇÑ ¶ôÀÌ ´Ù¸¥ ÇÁ·Î±×·¥¿¡ ÇØ º¸°ü À¯ÁöµÇ°í ÀÖ¾ú±â ¶§¹®¿¡ ¶ô¿¡ ½ÇÆÐÇßÀ» °æ¿ì,null °¡ µ¹·ÁÁÖ°íÁý´Ï´Ù. ±× ¿ÜÀÇ ¿øÀÎÀ¸·Î ¶ô¿¡ ½ÇÆÐÇßÀ» °æ¿ì´Â ÀûÀýÇÑ ¿¹¿Ü°¡ Throw µË´Ï´Ù.

position ÆÄ¶ó¹ÌÅÍ¿Í size ÆÄ¶ó¹ÌÅÍ·Î ÁöÁ¤µÈ ¿µ¿ªÀÌ, ±âÃÊ¿¡ ÀÖ´Â ÆÄÀÏ¿¡ Æ÷ÇԵǾî Àְųª, ±× ÆÄÀϰú ¿À¹ö·¦ Çϰųª Çϰí ÀÖÀ» ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ¶ô ¿µ¿ªÀÇ »çÀÌÁî´Â °íÁ¤ÀÔ´Ï´Ù. Ãʱ⠻óÅ¿¡¼­´Â ÆÄÀÏÀÇ ¸¶Áö¸·ÀÌ ¶ô ¿µ¿ª³»¿¡ Æ÷ÇԵǾî À־, ÆÄÀÏ »çÀÌÁî°¡ ÀÌ ¿µ¿ª¿¡¼­(º¸´Ù) Ä¿Á® ¹ö·ÈÀ» °æ¿ì, »õ·Î¿î ºÎºÐ¿¡´Â ¶ôÀÌ Àû¿ëµÇÁö ¾Ê½À´Ï´Ù. ÆÄÀÏ Àüü¿¡ ¶ôÀ» Àû¿ëÇÒ Çʿ䰡 ÀÖ´Â °Í¿¡µµ ºÒ±¸Çϰí, ÆÄÀÏ »çÀÌÁî°¡ Ä¿Áú °¡´É¼ºÀÌ ÀÖ´Â °æ¿ì´Â Á¦·Î·ÎºÎÅÍ ¿¹ÃøµÇ´Â ÃÖ´ë ÆÄÀÏ »çÀÌÁî ÀÌ»ó±îÁöÀÇ ¿µ¿ªÀ» Àá±Þ´Ï´Ù. Á¦·Î ÀμöÀÇ tryLock() ¸Þ¼­µå´Â ´Ü¼øÇÏ°Ô »çÀÌÁî Long.MAX_VALUE ¿µ¿ªÀ» Àá±Þ´Ï´Ù.

°øÀ¯ ¶ôÀ» ¼­Æ÷Æ®ÇÏÁö ¾Ê´Â operating system¿¡¼­´Â °øÀ¯ ¶ô ¿ä±¸°¡ ¹èŸ ¶ô ¿ä±¸¿¡ ÀÚµ¿ÀûÀ¸·Î º¯È¯µË´Ï´Ù. »õ·Ó°Ô ȹµæÇÑ ¶ôÀÌ °øÀ¯ ¶ôÀÏ±î ¹èŸ ¶ôÀϱî´Â »ý¼ºµÇ´Â ¶ô ¿ÀºêÁ§Æ®ÀÇ isShared ¸Þ¼­µå¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î ÆÇ´ÜÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÆÄÀÏ ¶ôÀº Java °¡»ó ¸Ó½Å Àüü¸¦ À§Çؼ­ º¸°ü À¯ÁöµË´Ï´Ù. À̰͵éÀº, µ¿ÀÏ °¡»ó ¸Ó½Å³»ÀÇ º¹¼ö thread¿¡ ÇÑ ÆÄÀÏ¿¡ÀÇ ¾×¼¼½º¸¦ Á¦¾îÇϴµ¥´Â ÀûÇÕÇÏÁö ¾Ê½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
position - ¶ô ¿µ¿ªÀÌ °³½ÃµÇ´Â ÆÄÀÏ À§Ä¡. ºÎÀÇ °ª ÀÌ¿Ü
size - ¶ô ¿µ¿ªÀÇ »çÀÌÁî. ºÎÀÇ °ª ÀÌ¿Ü. position + size ÇÕ°èµµ ºÎÀÇ °ª ÀÌ¿Ü
shared - °øÀ¯ ¶ôÀ» ¿ä±¸ÇÏ´Â °æ¿ì´Â true, ¹èŸ ¶ôÀ» ¿ä±¸ÇÏ´Â °æ¿ì´Â false
¹Ýȯ°ª:
»õ·Î¿î ȹµæ ¶ôÀ» ³ªÅ¸³»´Â ¶ô ¿ÀºêÁ§Æ®. ¿À¹ö·¦ ÇÑ ¶ôÀÌ ´Ù¸¥ ÇÁ·Î±×·¥¿¡ ÇØ È®º¸µÇ°í ÀÖ¾ú±â ¶§¹®¿¡ ¶ô¿¡ ½ÇÆÐÇßÀ» °æ¿ì´Â null
¿¹¿Ü:
IllegalArgumentException - »ó±âÀÇ ÆÄ¶ó¹ÌÅÍÀÇ ÀüÁ¦ Á¶°ÇÀÌ Ã¤¿öÁöÁö ¾ÊÀº °æ¿ì
ClosedChannelException - ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ì
OverlappingFileLockException - ¿ä±¸µÈ ¿µ¿ªÀ» ¿À¹ö·¦ ÇÏ´Â ¶ôÀÌ ÀÌ Java °¡»ó ¸Ó½Å¿¡ ¹ú½á È®º¸µÇ°í ÀÖ´Â °æ¿ì, ¶Ç´Â ÀÌ ¸Þ¼­µå³»¿¡¼­ ºí·Ï µÇ°í ÀÖ´Â ´Ù¸¥ thread°¡ °°Àº ÆÄÀÏÀÇ ¿À¹ö·¦ ÇÑ ¿µ¿ªÀ» Àá±×·Á Çϰí ÀÖ´Â °æ¿ì
IOException - ±× ¿ÜÀÇ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
°ü·Ã Ç׸ñ:
lock(), lock(long, long, boolean), tryLock()

tryLock

public final FileLock  tryLock()
                       throws IOException 
ÀÌ Ã¤³ÎÀÇ ÆÄÀϻ󿡼­ ¹èŸ ¶ôÀ» ȹµæÇÏ·Á°í ÇÕ´Ï´Ù.

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


     fc. tryLock (0L, Long.MAX_VALUE, false) 

¹Ýȯ°ª:
»õ·Î¿î ȹµæ ¶ôÀ» ³ªÅ¸³»´Â ¶ô ¿ÀºêÁ§Æ®. ¿À¹ö·¦ ÇÑ ¶ôÀÌ ´Ù¸¥ ÇÁ·Î±×·¥¿¡ ÇØ È®º¸µÇ°í ÀÖ¾ú±â ¶§¹®¿¡ ¶ô¿¡ ½ÇÆÐÇßÀ» °æ¿ì´Â null
¿¹¿Ü:
ClosedChannelException - ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ì
OverlappingFileLockException - ¿ä±¸µÈ ¿µ¿ªÀ» ¿À¹ö·¦ ÇÏ´Â ¶ôÀÌ ÀÌ Java °¡»ó ¸Ó½Å¿¡ ¹ú½á È®º¸µÇ°í ÀÖ´Â °æ¿ì, ¶Ç´Â ÀÌ ¸Þ¼­µå³»¿¡¼­ ºí·Ï µÇ°í ÀÖ´Â ´Ù¸¥ thread°¡ ¿À¹ö·¦ ÇÑ ¿µ¿ªÀ» Àá±×·Á Çϰí ÀÖ´Â °æ¿ì
IOException - ±× ¿ÜÀÇ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
°ü·Ã Ç׸ñ:
lock(), lock(long, long, boolean), tryLock(long, long, boolean)

JavaTM 2 Platform
Standard Ed. 5.0

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