JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.nio.channels
Ŭ·¡½º FileChannel

java.lang.Object 
  |
  +--java.nio.channels.spi.AbstractInterruptibleChannel 
        |
        +--java.nio.channels.FileChannel
¸ðµç ±¸Çö ÀÎÅÍÆäÀ̽º:
ByteChannel , Channel , GatheringByteChannel , InterruptibleChannel , ReadableByteChannel , ScatteringByteChannel , WritableByteChannel

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

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

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

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

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

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

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

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

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

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

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

ÁßøµÈ Ŭ·¡½ºÀÇ °³¿ä
static class FileChannel.MapMode
          ÆÄÀÏ ¸ÅÇιæ½ÄÀÇ ÇüÅ ÇÁ·ÎÅØ¼ÇµÈ ¿­°ÅÀÔ´Ï´Ù.
 
»ý¼ºÀÚÀÇ °³¿ä
protected FileChannel ()
          ÀÌ Å¬·¡½ºÀÇ »õ·Î¿î ÀνºÅϽº¸¦ ÃʱâÈ­ÇÕ´Ï´Ù.
 
¸Þ¼ÒµåÀÇ °³¿ä
abstract  void force (boolean metaData)
          ÀÌ Ã¤³ÎÀÇ ÆÄÀÏÀÇ °»½Å ³»¿ëÀº ±× ±â¾ïÀåÄ¡¿¡ °­Á¦ÀûÀ¸·Î ±âÀÔÇØÁý´Ï´Ù.
 FileLock lock ()
          ÀÌ Ã¤³ÎÀÇ ÆÄÀÏ»ó¿¡ ¹èŸ ¶ôÀ» ¼³Á¤ÇÕ´Ï´Ù.
abstract  FileLock lock (long position, long size, boolean shared)
          ÀÌ Ã¤³ÎÀÇ ÆÄÀÏÀÇ ÁöÁ¤µÈ area¸¦ Àá±Þ´Ï´Ù.
abstract  MappedByteBuffer map (FileChannel.MapMode  mode, long position, long size)
          ÀÌ Ã¤³ÎÀÇ ÆÄÀÏÀÇ area¸¦ Á÷Á¢ ¸Þ¸ð¸®¿¡ ¸ÅÇÎ ÇÕ´Ï´Ù.
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)
          ÀÌ Ã¤³ÎÀÇ ÆÄÀÏÀÇ ÁöÁ¤µÈ area·Î ¶ôÀ» ȹµæÇÏ·Á°í ÇÕ´Ï´Ù.
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
 

»ý¼ºÀÚÀÇ »ó¼¼

FileChannel

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

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

read

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

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

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º ReadableByteChannel ³»ÀÇ read
ÆÄ¶ó¹ÌÅÍ:
dst - ¹ÙÀÌÆ®ÀÇ Àü¼Ûó ¹öÆÛ
¹Ýȯ°ª:
ÀÐÈù ij¸¯Åͼö. Á¦·ÎÀΰ¡, ä³ÎÀÌ ½ºÆ®¸²ÀÇ ¸¶Áö¸·¿¡ À̸£°í ÀÖ´Â °æ¿ì´Â -1
¿¹¿Ü:
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 ÀÌÇÏÀÇ Á¦·Î ¶Ç´Â Á¤ÀÇ ¼ö
¹Ýȯ°ª:
ÀÐÈù ij¸¯Åͼö. Á¦·ÎÀΰ¡, ä³ÎÀÌ ½ºÆ®¸²ÀÇ ¸¶Áö¸·¿¡ À̸£°í ÀÖ´Â °æ¿ì´Â -1
¿¹¿Ü:
IOException - ±× ¿ÜÀÇ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì

read

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

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

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º ScatteringByteChannel ³»ÀÇ read
ÆÄ¶ó¹ÌÅÍ:
dsts - ¹ÙÀÌÆ®ÀÇ Àü¼Ûó ¹öÆÛ
¹Ýȯ°ª:
ÀÐÈù ij¸¯Åͼö. Á¦·ÎÀΰ¡, ä³ÎÀÌ ½ºÆ®¸²ÀÇ ¸¶Áö¸·¿¡ À̸£°í ÀÖ´Â °æ¿ì´Â -1
¿¹¿Ü:
IOException - ±× ¿ÜÀÇ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì

write

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

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

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º WritableByteChannel ³»ÀÇ write
ÆÄ¶ó¹ÌÅÍ:
src - ¹ÙÀÌÆ®ÀÇ ÃëµæÃ³ ¹öÆÛ
¹Ýȯ°ª:
±âÀÔÇØÁö´Â ¹ÙÀÌÆ®¼ö. Á¦·ÎÀÇ °æ¿ìµµ ÀÖ´Ù
¿¹¿Ü:
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 ÀÌÇÏÀÇ Á¦·Î ¶Ç´Â Á¤ÀÇ ¼ö
¹Ýȯ°ª:
±âÀÔÇØÁö´Â ¹ÙÀÌÆ®¼ö. Á¦·ÎÀÇ °æ¿ìµµ ÀÖ´Ù
¿¹¿Ü:
IOException - ±× ¿ÜÀÇ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì

write

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

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

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º GatheringByteChannel ³»ÀÇ write
ÆÄ¶ó¹ÌÅÍ:
srcs - ¹ÙÀÌÆ®ÀÇ ÃëµæÃ³ ¹öÆÛ
¹Ýȯ°ª:
±âÀÔÇØÁö´Â ¹ÙÀÌÆ®¼ö. Á¦·ÎÀÇ °æ¿ìµµ ÀÖ´Ù
¿¹¿Ü:
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 
ÀÌ Ã¤³ÎÀÇ ÆÄÀÏÀÇ ¸»¹Ì¸¦ Àß¶ó ¹ö·Á ÁöÁ¤µÈ »çÀÌÁî·Î ÇÕ´Ï´Ù.

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

¹Ýȯ°ª:
ÀÌ ÆÄÀÏ Ã¤³Î
¿¹¿Ü:
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´Â ¼Ò½º ä³Î·ÎºÎÅÍ ÆÄÀÏ ½Ã½ºÅÛ Ä³½¬¿¡ Á÷Á¢ ¹ÙÀÌÆ®¸¦ Àü¼Û ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¶§, ¹ÙÀÌÆ®ÀÇ Ä«ÇÇ´Â ÇàÇØÁöÁö ¾Ê½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
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 
ÀÌ Ã¤³ÎÀÇ ÆÄÀÏÀÇ area¸¦ Á÷Á¢ ¸Þ¸ð¸®¿¡ ¸ÅÇÎ ÇÕ´Ï´Ù.

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

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

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

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

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

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

ÆÄ¶ó¹ÌÅÍ:
mode - ÆÄÀÏÀÇ ¸ÅÇÎÀ» Àоîµé¿© Àü¿ë ¸ðµå·Î ½Ç½ÃÇÏ´Â °æ¿ì´Â FileChannel.MapMode Ŭ·¡½º¿¡ Á¤Àǵǰí ÀÖ´Â Á¤¼ö READ_ONLY , Àоîµé¿©/±âÀÔ ¸ðµå·Î ½Ç½ÃÇÏ´Â °æ¿ì´Â µ¿Å¬·¡½º¿¡ Á¤Àǵǰí ÀÖ´Â Á¤¼ö READ_WRITE , ºñ°ø°³ (copy-on-write) ¸ðµå·Î ½Ç½ÃÇÏ´Â °æ¿ì´Â µ¿Å¬·¡½º¿¡ Á¤Àǵǰí ÀÖ´Â Á¤¼ö PRIVATE
position - ÆÄÀϳ»ÀÇ ¸ÅÇÎ µÈ areaÀÇ °³½Ã À§Ä¡. ºÎÀÇ °ª ÀÌ¿Ü
size - ¸ÅÇÎ µÇ´Â areaÀÇ »çÀÌÁî. Á¦·Î ÀÌ»ó,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 
ÀÌ Ã¤³ÎÀÇ ÆÄÀÏÀÇ ÁöÁ¤µÈ area¸¦ Àá±Þ´Ï´Ù.

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

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

¶ôÀÌ È¹µæµÇ´Â °ÍÀ» ±â´Ù¸®°í ÀÖ´Â µ¿¾È¿¡ thread È£ÃâÇØ¿¡ ¼¼Ä¡±â°¡ ¹ß»ýÇßÀ» °æ¿ì, ¼¼Ä¡±â »óŰ¡ ¼³Á¤µÇ¾îFileLockInterruptionException °¡ ½½·Î¿ì µË´Ï´Ù. È£Ãâ¿øÀÇ ¼¼Ä¡±â »óŰ¡ ¼³Á¤µÇ¸é(ÀÚ), ÀÌ ¸Þ¼Òµå°¡ ºÒ·Á °¡ ±× ´ÙÀ½¿¡ ¿¹¿Ü°¡ ½½·Î¿ì µË´Ï´Ù. threadÀÇ ¼¼Ä¡±â »óÅ´ º¯°æµÇÁö ¾Ê½À´Ï´Ù.

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

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

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

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

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

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

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

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

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

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.