JavaTM 2 Platform
Standard Ed. 5.0

java.util.jar
ÀÎÅÍÆäÀ̽º Pack200.Packer

Æ÷ÇԵǾî Àִ Ŭ·¡½º:
Pack200

public static interface Pack200.Packer

packer ¿£ÁøÀº ´Ù¾çÇÑ º¯È¯À» ÀÔ·Â JAR ÆÄÀÏ¿¡ Àû¿ëÇØ, ÆѽºÆ®¸²À» gzip ³ª zip µîÀÇ ¾Ð·ÂÀ» »ç¿ëÇØ Å«ÆøÀ¸·Î ¾ÐÃà °¡´ÉÇÏ°Ô ÇÕ´Ï´Ù. ¿£ÁøÀÇ ÀνºÅϽº´Â Pack200.newPacker()¸¦ »ç¿ëÇØ ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù. °íµµÀÇ ¾ÐÃàÀº JSR 200 »ç¾çÀ¸·Î ¼³¸íµÇ°í ÀÖ´Â ´Ù¼öÀÇ Å×Å©´ÐÀ» »ç¿ëÇØ ½ÇÇöµË´Ï´Ù. ÀÌ·¯ÇÑ ±â¼ú¿¡´Â Á¤¼ö Ç®ÀÇ ¼ÒÆ®, Àç¼ø¼­ ºÙ¿© ¹× µ¿À§°ªÀÇ ¹è°ªÀÌ Æ÷ÇԵ˴ϴÙ.

pack ¿£ÁøÀº ÃʱâÈ­µÇ¸é, ´ÙÀ½¿¡ ³ªÅ¸³»´Â ÇÁ·ÎÆÛƼ·Î ±ÔÁ¤µÈ Ãʱ⠻óÅ°¡ µË´Ï´Ù. Ãʱ⠻óŸ¦ Á¶ÀÛÇÏ·Á¸é, (properties()¸¦ »ç¿ëÇØ) ¿£Áø ÇÁ·ÎÆÛƼ¸¦ ÃëµæÇÏ°í ³ª¼­, ¼öÁ¤ÇÑ ÇÁ·ÎÆÛƼ¸¦ ¸Ê¿¡ Æ÷ÇÔÇÕ´Ï´Ù. resource file´Â ÀÏÀý º¯°æ¾øÀÌ °Ç³×¹Þ½À´Ï´Ù. unpacker´Â Á¤¼ö Ç® À¯¼øÇÑ ¾î´À ÀϹÝÀûÀÌÁö ¾Ê´Â Ŭ·¡½º ÆÄÀÏ ±â´É¿¡ ÀÚÀ¯·Ó°Ô º¯°æÇÒ ¼ö Àֱ⠶§¹®¿¡ Ŭ·¡½º ÆÄÀÏ¿¡´Â µ¿ÀÏÇÑ ¹ÙÀÌÆ®´Â Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù. ´Ù¸¸, ¡¸Java °¡»ó ¸Ó½Å »ç¾ç¡¹(http://java.sun.com/docs/books/vmspec/html/ClassFile.doc.html )·Î ÁöÁ¤µÇ°í ÀÖµµ·Ï, ÀÌ·¯ÇÑ Å¬·¡½º ÆÄÀÏÀº ¹ÌÀûÀ¸·Î µ¿ÀÏÇÕ´Ï´Ù.

µðÆúÆ®¿¡¼­´Â packer°¡ JAR ¿ä¼ÒÀÇ ¼ø¼­¸¦ º¯°æÇÒ °ÍÀº ¾ø½À´Ï´Ù. ¶Ç, °¢ JAR ¿ä¼ÒÀÇ ¼öÁ¤ ½Ã°£ ¹× µðÇ÷¹ÀÌ¼Ç ÈùÆ®´Â º¯°æÀ» ´õÇØÁöÁö ¾Ê°í¿¡°Ô °Ç³×Áý´Ï´Ù (Unix ÆÄÀÏÀÇ Á¢±Ù ±ÇÇÑÀ» ºÎ¿©ÇÏ´Â Ãß°¡ ¼Ó¼ºµîÀÇ, ´Ù¸¥ ZIP ¾îÄ«À̺ê(archive) Á¤º¸´Â ¾ø¾îÁø´Ù).

ÀϹÝÀûÀ¸·Î JAR ÆÑ ¹× unpack¿¡ÀÇÇØ JAR Ŭ·¡½º ÆÄÀϳ»¿¡ ÀÖ´Â ¹ÙÀÌÆ® ´ÜÀ§ÀÇ ÄÁÅÙÃ÷°¡ º¯°æµË´Ï´Ù. ÀÌ°ÍÀº º¸Åë, ÆÑ ¹× unpack¿¡ÀÇÇØ JAR ¿ä¼ÒÀÇ ¹ÙÀÌÆ® ´ÜÀ§ À̹ÌÁö¿¡ ÀÇÁ¸µÈ µðÁöÅÐ ¼­¸íÀÌ ¸ðµÎ ¹«È¿°¡ µÇ´Â °ÍÀ»ÀǹÌÇÕ´Ï´Ù. JAR ¼­¸í°ú ÆÑÀÇ ¾çÂÊ ¸ðµÎ¸¦ ½ÇÇàÇϱâ À§Çؼ­´Â ÃÖÃÊ·Î JAR ÆÑ°ú unpack¸¦ ½ÇÇàÇØ ¡¸Á¤±ÔÈ­¡¹ÇÏ°í ³ª¼­, unpack µÈ JAR ¿ä¼Ò»óÀÇ ¼­¸íÀ» °è»êÇØ, ¸¶Áö¸·¿¡ ¼­¸íÇÊÀÇ JAR¸¦ ÀçÆÑ ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ¾çÂÊ ¸ðµÎÀÇ ÆÑ ¼ø¼­·Î Á¤È®ÇÏ°Ô °°Àº ¿É¼ÇÀ» »ç¿ëÇØ ÁÖ¼¼¿ä. ¶Ç, Ŭ·¡½º ÆÄÀÏÀÇ »çÀÌÁî´Â ¹Ì¹¦ÇÏ°Ô º¯È­Çϱâ À§ÇØ, ¼¼±×¸ÕÆ®(segment) °æ°è¸¦ µµÇÏÁö ¾Ê°í ·Î º¯°æÇØ ¹ö¸®´Â °ÍÀ» ÇÇÇϱâ À§Çؼ­ ¼¼±×¸ÕÆ®(segment) Á¦ÇÑÀ» ¡¸-1¡¹À¸·Î ¼³Á¤ÇÏ´Â °ÍÀÌ ÇÊ¿äÇÑ °æ¿ìµµ ÀÖ½À´Ï´Ù.

(ÀÌ°ÍÀÌ ±â´ÉÇÏ´Â ÀÌÀ¯´Â ´ÙÀ½°ú °°ÀÌ. Ŭ·¡½º ÆÄÀÏ ±¸Á¶¿¡ ´ëÇؼ­ packer°¡ ½ÇÇàÇÏ´Â Àç¼ø¼­ºÎ´Â ³ª¹«µîÀ̱⠶§¹®¿¡ 2¹ø°ÀÇ ÆÑÀ¸·Î ÃÖÃÊÀÇ ÆÐÅ·¿¡ ÀÇÇØ »ý¼ºµÈ ¼ø¼­°¡ º¯°æµÉ °ÍÀº ¾ø´Ù. ¶Ç, JSR 200 »ç¾ç¿¡ÀÇÇØ unpacker´Â ¾îÄ«À̺ê(archive) ¿ä¼ÒÀÇ Æ¯Á¤ÀÇ Àü¼Û ¼ø¼­¿¡ ´ëÇؼ­ ÁöÁ¤µÈ ¹ÙÀÌÆ® ´ÜÀ§ À̹ÌÁö¸¦ »ý¼ºÇÏ´Â °ÍÀÌ º¸ÁõµÇ°í ÀÖ´Ù. )


ÇÊµå °³¿ä
static String CLASS_ATTRIBUTE_PFX
          Å¬·¡½º ¼Ó¼º¸í¿¡ ¿¬°áµÇ¾úÀ» °æ¿ì, JSR 200 »ç¾çÀ¸·Î ÁöÁ¤µÈ ·¹À̾ƿô ¾ð¾î¸¦ »ç¿ëÇØ, ±× ¼Ó¼ºÀÇ Çü½ÄÀ» ³ªÅ¸³À´Ï´Ù.
static String CODE_ATTRIBUTE_PFX
          ÄÚµå ¼Ó¼º¸íÀ¸·Î ¿¬°áÇØ »ç¿ëµÇ¾úÀ» °æ¿ì, ¼Ó¼ºÀÇ Çü½ÄÀ» ³ªÅ¸³À´Ï´Ù.
static String DEFLATE_HINT
          ÀÌ ÇÁ·ÎÆÛƼ°¡ TRUE ¶Ç´Â FALSE ·Î ¼³Á¤µÇ¸é, packer´Â Ãâ·Â ¾îÄ«À̺ê(archive)³»¿¡¼­ °Å±â¿¡ ÀÀÇÑ µðÇ÷¹ÀÌ¼Ç ÈùÆ®¸¦ ¼³Á¤ÇÕ´Ï´Ù.
static String EFFORT
          ÀÌ ÇÁ·ÎÆÛƼ°¡ 1 ÀÚ¸®¼öÀÇ 10 Áø¼ö·Î ¼³Á¤µÇ¸é, packer´Â ÁöÁ¤µÈ ¾çÀÇ ³ë·ÂÀ» ¾îÄ«À̺ê(archive)ÀÇ ¾ÐÃà¿¡ ¼ÒºñÇÕ´Ï´Ù.
static String ERROR
          Ä³¸¯ÅÍ ¶óÀÎ ¡¸error¡¹´Â ƯÁ¤ÀÇ ÇÁ·ÎÆÛƼ·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
static String FALSE
          Ä³¸¯ÅÍ ¶óÀÎ ¡¸false¡¹´Â ƯÁ¤ÀÇ ÇÁ·ÎÆÛƼ·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
static String FIELD_ATTRIBUTE_PFX
          ÇÊµå ¼Ó¼º¸íÀ¸·Î ¿¬°áÇØ »ç¿ëµÇ¾úÀ» °æ¿ì, ¼Ó¼ºÀÇ Çü½ÄÀ» ³ªÅ¸³À´Ï´Ù.
static String KEEP
          Ä³¸¯ÅÍ ¶óÀÎ ¡¸keep¡¹´Â ƯÁ¤ÀÇ ÇÁ·ÎÆÛƼ·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
static String KEEP_FILE_ORDER
          ÀÌ ÇÁ·ÎÆÛƼ°¡ TRUE ·Î ¼³Á¤µÇ¸é, packer´Â ¼Ò½º ¾îÄ«À̺ê(archive)³»ÀÇ ¸ðµç ¿ä¼Ò¸¦ ¿øÀÇ ¼ø¼­·Î Àü¼Û ÇÕ´Ï´Ù.
static String LATEST
          Ä³¸¯ÅÍ ¶óÀÎ ¡¸latest¡¹´Â ƯÁ¤ÀÇ ÇÁ·ÎÆÛƼ·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
static String METHOD_ATTRIBUTE_PFX
          ¸Þ¼­µå ¼Ó¼º¸íÀ¸·Î ¿¬°áÇØ »ç¿ëµÇ¾úÀ» °æ¿ì, ¼Ó¼ºÀÇ Çü½ÄÀ» ³ªÅ¸³À´Ï´Ù.
static String MODIFICATION_TIME
          ÀÌ ÇÁ·ÎÆÛƼ°¡ Ư¼öÇÑ Ä³¸¯ÅÍ ¶óÀÎ LATEST ·Î ¼³Á¤µÇ¸é, packer´Â ¿øÀÇ ¾îÄ«À̺ê(archive)³»ÀÇ ÀÌ¿ë °¡´ÉÇÑ Àü¿£Æ®¸®³»¿¡¼­ ÃÖ½ÅÀÇ ¼öÁ¤ ½Ã°£, ¶Ç´Â °¢ ¼¼±×¸ÕÆ®(segment)³»ÀÇ ÀÌ¿ë °¡´ÉÇÑ Àü¿£Æ®¸®ÀÇ ÃÖ½ÅÀÇ ¼öÁ¤ ½Ã°£ÀÇ °áÁ¤À» ½ÃµµÇÕ´Ï´Ù.
static String PASS
          Ä³¸¯ÅÍ ¶óÀÎ ¡¸pass¡¹´Â ƯÁ¤ÀÇ ÇÁ·ÎÆÛƼ·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
static String PASS_FILE_PFX
          ÆÄÀÏÀ» ¾ÐÃàÇÏÁö ¾Ê°í ¹ÙÀÌÆ® ´ÜÀ§·Î °Ç³×ÁÖ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù.
static String PROGRESS
          unpacker Áøô »óȲÀ» ÆÛ¼¾Æ®·Î °¡¸®Åµ´Ï´Ù.
static String SEGMENT_LIMIT
          ÀÌ ÇÁ·ÎÆÛƼ´Â °¢ ¾îÄ«À̺ê(archive) ¿ä¼ÒÀÇ ÃßÁ¤ Ÿ°Ù »çÀÌÁî N (´ÜÀ§´Â ¹ÙÀÌÆ®)¸¦ ºÎ¿©ÇÏ´Â ¼öÄ¡ÀÔ´Ï´Ù.
static String STRIP
          Ä³¸¯ÅÍ ¶óÀÎ ¡¸strip¡¹´Â ƯÁ¤ÀÇ ÇÁ·ÎÆÛƼ·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
static String TRUE
          Ä³¸¯ÅÍ ¶óÀÎ ¡¸true¡¹´Â ƯÁ¤ÀÇ ÇÁ·ÎÆÛƼ·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
static String UNKNOWN_ATTRIBUTE
          ºÒ¸íÇÑ ¼Ó¼ºÀ» Æ÷ÇÔÇÑ Å¬·¡½º ÆÄÀÏ¿¡ Á¶¿ìÇßÀ» ¶§¿¡ ½ÇÇàÇÏ´Â ¾×¼ÇÀ» ³ªÅ¸³À´Ï´Ù.
 
¸Þ¼­µå °³¿ä
 void addPropertyChangeListener (PropertyChangeListener  listener)
          PropertyChange À̺¥Æ®ÀÇ ¸®½º³Ê¸¦ ÇÁ·ÎÆÛƼ ¸Ê¿¡ µî·ÏÇÕ´Ï´Ù.
 void pack (JarFile  in, OutputStream  out)
          JarFile¸¦ ÃëµæÇØ, Pack200 ¾îÄ«À̺ê(archive)·Î º¯È¯ÇÕ´Ï´Ù.
 void pack (JarInputStream  in, OutputStream  out)
          JarInputStream¸¦ ÃëµæÇØ, Pack200 ¾îÄ«À̺ê(archive)·Î º¯È¯ÇÕ´Ï´Ù.
 SortedMap <String, String > properties ()
          ÀÌ ¿£ÁøÀÇ ÇÁ·ÎÆÛƼ ¼¼Æ®¸¦ ÃëµæÇÕ´Ï´Ù.
 void removePropertyChangeListener (PropertyChangeListener  listener)
          addPropertyChangeListener(java.beans.PropertyChangeListener) ¿¡ ÀÇÇØ Ãß°¡µÈ, PropertyChange À̺¥Æ®ÀÇ ¸®½º³Ê¸¦ »èÁ¦ÇÕ´Ï´Ù.
 

ÇʵåÀÇ »ó¼¼

SEGMENT_LIMIT

static final String  SEGMENT_LIMIT
ÀÌ ÇÁ·ÎÆÛƼ´Â °¢ ¾îÄ«À̺ê(archive) ¿ä¼ÒÀÇ ÃßÁ¤ Ÿ°Ù »çÀÌÁî N (´ÜÀ§´Â ¹ÙÀÌÆ®)¸¦ ºÎ¿©ÇÏ´Â ¼öÄ¡ÀÔ´Ï´Ù. ´ÜÀÏÀÇ ÀÔ·Â ÆÄÀÏ·Î N ¹ÙÀÌÆ®¸¦ ³Ñ´Â ¹ÙÀÌÆ®¼ö°¡ ÇÊ¿äÇÑ °æ¿ì, ÀÌ°Í¿¡ µ¶ÀÚÀûÀÎ ¾îÄ«À̺ê(archive) ¼¼±×¸ÕÆ®(segment)°¡ ºÎ¿©µË´Ï´Ù.

Ư¼öÇÑ ÄÉÀ̽º·Î¼­ °ª 0 ÀÌ Å¬·¡½º ¸¶´Ù 1°³ÀÇ ¼¼±×¸ÕÆ®(segment)¸¦ »ý¼ºÇϴµ¥ ´ëÇØ, °ª -1 ÀÌ ¸ðµç ÀÔ·Â ÆÄÀÏÀ» Æ÷ÇÔÇÑ ´ÜÀÏÀÇ ´ë±Ô¸ð ¼¼±×¸ÕÆ®(segment)¸¦ »ý¼ºÇÕ´Ï´Ù. ¾îÄ«À̺ê(archive) ¼¼±×¸ÕÆ®(segment)°¡ Ä¿Áö¸é fragmentation°¡ °¨¼ÒÇØ, ¾ÐÃàÀ²ÀÌ Çâ»óÇÕ´Ï´Ù¸¸, º¸´Ù ¸¹Àº ¸Þ¸ð¸®°¡ 󸮿¡ ÇÊ¿äÇÏ°Ô µË´Ï´Ù.

°¢ ¼¼±×¸ÕÆ®(segment)ÀÇ »çÀÌÁî´Â ¼¼±×¸ÕÆ®(segment)³»¿¡¼­ Àü¼Û µÇ´Â °¢ ÀÔ·Â ÆÄÀÏÀÇ »çÀÌÁî ¹× ±× À̸§°ú Àü¼Û µÇ´Â ´Ù¸¥ ÇÁ·ÎÆÛƼÀÇ »çÀÌÁ °è»êÇÏ´Â °ÍÀ¸·Î ÃßÃøÇÒ ¼ö ÀÖ½À´Ï´Ù.

µðÆúÆ®´Â 1000000 (¹ÙÀÌÆ®)ÀÔ´Ï´Ù. ÀÌ°Í¿¡ ÀÇÇØ Áß°£ Á¤µµÀÇ »çÀÌÁîÀÇ ÀÔ·Â JAR ÆÄÀÏÀ» ÀÖ´Â ¼¼±×¸ÕÆ®(segment)³»¿¡¼­ Àü¼Û ÇÏ´Â °ÍÀÌ °¡´ÉÇÏ°Ô µË´Ï´Ù. ÀÌ °ª¿¡ÀÇÇØ packer ¹× unpacker ¸Þ¸ð¸® ¿ä°Çµµ Á¦Çѵ˴ϴÙ.

º¸Åë, ÀÌ Á¦ÇѾøÀÌ ÆÑ µÈ 10M ¹ÙÀÌÆ®ÀÇ JAR´Â ¾à 10 % ºÒÇÊ¿äÇÏ°Ô ÀÛ¾ÆÁý´Ï´Ù¸¸, packer¿¡´Â º¸´Ù ¸¹Àº Java heap (¼¼±×¸ÕÆ®(segment) Á¦ÇÑÀÇ ¾à 10 ¹è)°¡ ÇÊ¿äÇÏ°Ô µË´Ï´Ù.

°ü·Ã Ç׸ñ:
Á¤¼ö Çʵ尪

KEEP_FILE_ORDER

static final String  KEEP_FILE_ORDER
ÀÌ ÇÁ·ÎÆÛƼ°¡ TRUE ·Î ¼³Á¤µÇ¸é, packer´Â ¼Ò½º ¾îÄ«À̺ê(archive)³»ÀÇ ¸ðµç ¿ä¼Ò¸¦ ¿øÀÇ ¼ø¼­·Î Àü¼Û ÇÕ´Ï´Ù.

ÀÌ°ÍÀÌ FALSE ·Î ¼³Á¤µÇ¸é, packer´Â ¿ä¼Ò¸¦ ÀçÂ÷ Á¤·Ä ÇØ, Java ¾îÇø®ÄÉÀ̼ǿ¡ °üÇÑ À¯¿ëÇÑ Á¤º¸¸¦ Æ÷ÇÔÇÏÁö ¾Ê´Â JAR µð·ºÅ丮 ¿£Æ®¸®¸¦ »èÁ¦ÇÕ´Ï´Ù (ÀϹÝÀûÀ¸·Î ÀÌ°Í¿¡ ÀÇÇØ ¾ÐÃàÀ²ÀÌ Çâ»óÇÑ´Ù).

µðÆúÆ®´Â TRUE ÀÔ´Ï´Ù. ÀÌ°Í¿¡ ÀÇÇØ ÀÔ·Â Á¤º¸´Â º¸Á¸µË´Ï´Ù¸¸, Àü¼Û ÇÏ´Â ¾îÄ«À̺ê(archive)ÀÇ »çÀÌÁî°¡ ÇÊ¿äÀÌ»óÀ¸·Î Ä¿Áö´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.

°ü·Ã Ç׸ñ:
Á¤¼ö Çʵ尪

EFFORT

static final String  EFFORT
ÀÌ ÇÁ·ÎÆÛƼ°¡ 1 ÀÚ¸®¼öÀÇ 10 Áø¼ö·Î ¼³Á¤µÇ¸é, packer´Â ÁöÁ¤µÈ ¾çÀÇ ³ë·ÂÀ» ¾îÄ«À̺ê(archive)ÀÇ ¾ÐÃà¿¡ ¼ÒºñÇÕ´Ï´Ù. ·¹º§ 1 Àº »çÀÌÁî°¡ ¾à°£ Ä¿Áý´Ï´Ù¸¸, ¾ÐÃà ¼Óµµ°¡ °í¼ÓÀ¸·Î µË´Ï´Ù. ÇÑÆí, ·¹º§ 9´Â ¾ÐÃà¿¡ ½Ã°£ÀÌ °É¸³´Ï´Ù¸¸, ¾ÐÃàÀ²ÀÌ ³ô¾ÆÁý´Ï´Ù.

Ư¼öÇÑ °ª 0À» ÁöÁ¤Çϸé, packer´Â ¿øÀÇ JAR ÆÄÀÏÀ» ¾ÐÃàÇÏÁö ¾Ê°í Á÷Á¢ Ä«ÇÇÇÕ´Ï´Ù. JSR 200 Ç¥ÁØ¿¡¼­´Â unpacker°¡ ÀÌ Æ¯¼öÇÑ ÄÉÀ̽º¸¦ ¾îÄ«À̺ê(archive) ÀüüÀÇ ÆĽº½º¸£·Î¼­ ÀνÄÇÏ´Â °ÍÀÌ ¿ä±¸µË´Ï´Ù.

µðÆúÆ®´Â 5 ÀÔ´Ï´Ù. ÀÌ ¼³Á¤¿¡¼­´Â Áß°£ Á¤µµÀÇ ½Ã°£À» ¼ÒºñÇØ Àû´çÇÑ ¾ÐÃàÀ» ÇÕ´Ï´Ù.

°ü·Ã Ç׸ñ:
Á¤¼ö Çʵ尪

DEFLATE_HINT

static final String  DEFLATE_HINT
ÀÌ ÇÁ·ÎÆÛƼ°¡ TRUE ¶Ç´Â FALSE ·Î ¼³Á¤µÇ¸é, packer´Â Ãâ·Â ¾îÄ«À̺ê(archive)³»¿¡¼­ °Å±â¿¡ ÀÀÇÑ µðÇ÷¹ÀÌ¼Ç ÈùÆ®¸¦ ¼³Á¤ÇÕ´Ï´Ù. ¾îÄ«À̺ê(archive) ¿ä¼ÒÀÇ °³º°ÀÇ µðÇ÷¹ÀÌ¼Ç ÈùÆ®°¡ Àü¼Û µÉ °ÍÀº ¾ø½À´Ï´Ù.

ÀÌ ÇÁ·ÎÆÛƼ°¡ Ư¼öÇÑ Ä³¸¯ÅÍ ¶óÀÎ KEEP ·Î ¼³Á¤µÇ¸é, packer´Â ÀÔ·Â ¾îÄ«À̺ê(archive)³»ÀÇ ÀÌ¿ë °¡´ÉÇÑ ¿ä¼Ò ¸¶´Ù µ¶¸³ÇÑ µðÇ÷¹ÀÌ¼Ç ÈùÆ®¸¦ °áÁ¤ÇØ, ÈùÆ®¸¦ º°°³¿¡ Àü¼Û ÇÏ·Á°í ½ÃµµÇÕ´Ï´Ù.

µðÆúÆ®´Â KEEP ÀÔ´Ï´Ù. ÀÌ°Í¿¡ ÀÇÇØ ÀÔ·Â Á¤º¸´Â º¸Á¸µË´Ï´Ù¸¸, Àü¼Û ÇÏ´Â ¾îÄ«À̺ê(archive)ÀÇ »çÀÌÁî°¡ ÇÊ¿äÀÌ»óÀ¸·Î Ä¿Áö´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.

unpack ÇÏ´Â jar ¿ä¼Ò¸¦ ¿Ã¹Ù¸£°Ô ¾ÐÃàÇϱâ À§Çؼ­ ÈùÆ®¸¦ ÀûÀýÈ÷ ó¸®ÇÏ´Â °ÍÀº unpacker ±¸Çö¿¡ ÀÇÁ¸ÇÕ´Ï´Ù.

ZIP ¶Ç´Â JAR ¿ä¼ÒÀÇ µðÇ÷¹ÀÌ¼Ç ÈùÆ®´Â ¿ä¼Ò°¡ ¾ÐÃàµÇ¾ú´ÂÁö, ±×´ë·Î Æ÷ÇԵǾú´ÂÁö¸¦ ³ªÅ¸³À´Ï´Ù.

°ü·Ã Ç׸ñ:
Á¤¼ö Çʵ尪

MODIFICATION_TIME

static final String  MODIFICATION_TIME
ÀÌ ÇÁ·ÎÆÛƼ°¡ Ư¼öÇÑ Ä³¸¯ÅÍ ¶óÀÎ LATEST ·Î ¼³Á¤µÇ¸é, packer´Â ¿øÀÇ ¾îÄ«À̺ê(archive)³»ÀÇ ÀÌ¿ë °¡´ÉÇÑ Àü¿£Æ®¸®³»¿¡¼­ ÃÖ½ÅÀÇ ¼öÁ¤ ½Ã°£, ¶Ç´Â °¢ ¼¼±×¸ÕÆ®(segment)³»ÀÇ ÀÌ¿ë °¡´ÉÇÑ Àü¿£Æ®¸®ÀÇ ÃÖ½ÅÀÇ ¼öÁ¤ ½Ã°£ÀÇ °áÁ¤À» ½ÃµµÇÕ´Ï´Ù. ÀÌ ´ÜÀÏÀÇ °ªÀº ¼¼±×¸ÕÆ®(segment)ÀÇ ÀϺημ­ ¼Û½ÅµÇ¾î °¢ ¼¼±×¸ÕÆ®(segment) SEGMENT_LIMIT ³»ÀÇ ¸ðµç ¿£Æ®¸®¿¡ Àû¿ëµË´Ï´Ù.

ÀÌ°Í¿¡ ÀÇÇØ ÀνºÅç µÈ ÆÄÀÏ ¸ðµç °ÍÀÌ ´ÜÀÏÀÇ ³¯Â¥¿Í ½Ã°£·Î ¼³Á¤µÇ´Â ´ë½Å¿¡ Àü¼Û ÇÏ´Â ¾îÄ«À̺ê(archive)ÀÇ »çÀÌÁ Á¶±Ý °¨¼Ò½Ãų ¼ö°¡ ÀÖ½À´Ï´Ù.

ÀÌ ÇÁ·ÎÆÛƼ¸¦ Ư¼öÇÑ Ä³¸¯ÅÍ ¶óÀÎ KEEP ·Î ¼³Á¤Çϸé, packer´Â ÀÔ·Â ¿ä¼Ò ¸¶´Ù º°°³ÀÇ ¼öÁ¤ ½Ã°£À» Àü¼Û ÇÕ´Ï´Ù.

µðÆúÆ®´Â KEEP ÀÔ´Ï´Ù. ÀÌ°Í¿¡ ÀÇÇØ ÀÔ·Â Á¤º¸´Â º¸Á¸µË´Ï´Ù¸¸, Àü¼Û ÇÏ´Â ¾îÄ«À̺ê(archive)ÀÇ »çÀÌÁî°¡ ÇÊ¿äÀÌ»óÀ¸·Î Ä¿Áö´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.

Ãâ·Â ÆÄÀÏÀÇ °¢ ¿ä¼ÒÀÇ ¼öÁ¤ ½Ã°£À» ¿Ã¹Ù¸£°Ô ¼³Á¤Çϱâ À§Çؼ­ ÀûÀýÇÑ Ã³¸®¸¦ ½ÇÇàÇÏ´Â °ÍÀº unpacker ±¸Çö¿¡ ÀÇÁ¸ÇÕ´Ï´Ù.

°ü·Ã Ç׸ñ:
SEGMENT_LIMIT, Á¤¼ö Çʵ尪

PASS_FILE_PFX

static final String  PASS_FILE_PFX
ÆÄÀÏÀ» ¾ÐÃàÇÏÁö ¾Ê°í ¹ÙÀÌÆ® ´ÜÀ§·Î °Ç³×ÁÖ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù. º¹¼öÀÇ ÆÄÀÏÀ» ÁöÁ¤ÇÏ´Â °æ¿ì´Â ½Äº° °¡´ÉÇÑ Ä³¸¯ÅÍ ¶óÀÎÀÌ ºÎ°¡µÈ Ãß°¡ ÇÁ·ÎÆÛƼ¸¦ ¼³Á¤ÇÏ´Â °ÍÀ¸·Î ÇÑ ¹«¸®ÀÇ ÇÁ·ÎÆÛƼ¿¡ °øÅëÀÇ Á¢µÎ»ç¸¦ ÁöÁ¤ÇÕ´Ï´Ù.

½Ã½ºÅÛ ÆÄÀÏ separator°¡ JAR ÆÄÀÏ separator ¡¸/¡¹À¸·Î ¿Å°ÜÁö´Â Á¡À» Á¦¿ÜÇØ, Æнº¸íÀÇ º¯È¯Àº ÇàÇØÁöÁö ¾Ê½À´Ï´Ù.

»ý¼ºµÇ´Â ÆÄÀϸíÀº JAR ÆÄÀÏ¿¡ ±âÀçµÈ ij¸¯ÅÍ ¶óÀΰú Á¤È®ÇÏ°Ô ÀÏÄ¡ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

ÇÁ·ÎÆÛƼ°ªÀÌ µð·ºÅ丮¸íÀÇ °æ¿ì, ±× µð·ºÅ丮³»ÀÇ ¸ðµç ÆÄÀϵµ °Ç³×¹Þ½À´Ï´Ù.

·Ê:


     Map p = packer.properties();
     p.put(PASS_FILE_PFX+0, "mutants/Rogue.class");
     p.put(PASS_FILE_PFX+1, "mutants/Wolverine.class");
     p.put(PASS_FILE_PFX+2, "mutants/Storm.class");
     # Pass all files in an entire directory hierarchy:
     p.put(PASS_FILE_PFX+3, "police/");
 

°ü·Ã Ç׸ñ:
Á¤¼ö Çʵ尪

UNKNOWN_ATTRIBUTE

static final String  UNKNOWN_ATTRIBUTE
ºÒ¸íÇÑ ¼Ó¼ºÀ» Æ÷ÇÔÇÑ Å¬·¡½º ÆÄÀÏ¿¡ Á¶¿ìÇßÀ» ¶§¿¡ ½ÇÇàÇÏ´Â ¾×¼ÇÀ» ³ªÅ¸³À´Ï´Ù. ÀÌ¿ë °¡´ÉÇÑ °ªÀº ij¸¯ÅÍ ¶óÀÎ ERROR, STRIP ¹× PASS ÀÔ´Ï´Ù.

ij¸¯ÅÍ ¶óÀÎ ERROR ´Â ÆÑ Á¶ÀÛÀÌ ÀüüÀûÀ¸·Î ½ÇÆÐÇØ, ÀûÀýÇÑ ¼³¸íÀÌ ³ªÅ¸³ª´Â °ÍÀ»ÀǹÌÇÕ´Ï´Ù. ij¸¯ÅÍ ¶óÀÎ STRIP ´Â ¼Ó¼ºÀÌ »èÁ¦µÇ´Â °ÍÀ»ÀǹÌÇÕ´Ï´Ù. ij¸¯ÅÍ ¶óÀÎ PASS ´Â Ŭ·¡½º ÆÄÀÏ Àüü°¡ (resource file¿Í °°ÀÌ) ¾ÐÃà¾øÀÌ °Ç³×¹Þ¾Æ ÀûÀýÇÑ °æ°í°¡ ³ªÅ¸³ª´Â °ÍÀ»ÀǹÌÇÕ´Ï´Ù. ÀÌ°ÍÀÌ, ÀÌ ÇÁ·ÎÆÛƼÀÇ ±âº»°ª ÀÔ´Ï´Ù.

·Ê:


     Map p = pack200.getProperties();
     p.put(UNKNOWN_ATTRIBUTE, ERROR);
     p.put(UNKNOWN_ATTRIBUTE, STRIP);
     p.put(UNKNOWN_ATTRIBUTE, PASS);
 

°ü·Ã Ç׸ñ:
Á¤¼ö Çʵ尪

CLASS_ATTRIBUTE_PFX

static final String  CLASS_ATTRIBUTE_PFX
Ŭ·¡½º ¼Ó¼º¸í¿¡ ¿¬°áµÇ¾úÀ» °æ¿ì, JSR 200 »ç¾çÀ¸·Î ÁöÁ¤µÈ ·¹À̾ƿô ¾ð¾î¸¦ »ç¿ëÇØ, ±× ¼Ó¼ºÀÇ Çü½ÄÀ» ³ªÅ¸³À´Ï´Ù.

¿¹¸¦ µé¾î, pack.class.attribute.SourceFile=RUH¿¡´Â ÀÌ ¿É¼ÇÀÇ È¿°ú°¡ »ðÀԵǾî ÀÖ½À´Ï´Ù.

Ư¼öÇÑ Ä³¸¯ÅÍ ¶óÀÎ ERROR, STRIP ¹× PASS µµ, UNKNOWN_ATTRIBUTE ¿Í °°Àº ¹Ì¸¦ °¡Áö´Â °ÍÀ¸·Î¼­ Çã°¡µÇ°í ÀÖ½À´Ï´Ù. »ç¿ëÀÚ´Â ÀÌ°ÍÀ» »ç¿ëÇÏ´Â °ÍÀ¸·Î ƯÁ¤ÀÇ ¼Ó¼ºÀ» (Ŭ·¡½º ¾ÐÃà¾øÀÌ) ºñÆ® ´ÜÀ§·Î °ÅºÎÇϰųª ¾ø¾Ö°Å³ª °Ç³×Áְųª ÇÒ ¼ö ÀÖ½À´Ï´Ù.

´ÙÀ½°ú °°Àº Äڵ带 »ç¿ëÇØ, JCOV¿ëÀÇ ¼Ó¼ºÀ» Áö¿ø ÇÒ ¼ö ÀÖ½À´Ï´Ù.


     Map p = packer.properties();
     p.put(CODE_ATTRIBUTE_PFX+"CoverageTable",       "NH[PHHII]");
     p.put(CODE_ATTRIBUTE_PFX+"CharacterRangeTable", "NH[PHPOHIIH]");
     p.put(CLASS_ATTRIBUTE_PFX+"SourceID",           "RUH");
     p.put(CLASS_ATTRIBUTE_PFX+"CompilationID",      "RUH");
 

´ÙÀ½°ú °°Àº Äڵ带 »ç¿ëÇØ, µð¹ö±× ¼Ó¼ºÀ» ¾ø¾Ù ¼ö°¡ ÀÖ½À´Ï´Ù.


     Map p = packer.properties();
     p.put(CODE_ATTRIBUTE_PFX+"LineNumberTable",    STRIP);
     p.put(CODE_ATTRIBUTE_PFX+"LocalVariableTable", STRIP);
     p.put(CLASS_ATTRIBUTE_PFX+"SourceFile",        STRIP);
 

°ü·Ã Ç׸ñ:
Á¤¼ö Çʵ尪

FIELD_ATTRIBUTE_PFX

static final String  FIELD_ATTRIBUTE_PFX
ÇÊµå ¼Ó¼º¸íÀ¸·Î ¿¬°áÇØ »ç¿ëµÇ¾úÀ» °æ¿ì, ¼Ó¼ºÀÇ Çü½ÄÀ» ³ªÅ¸³À´Ï´Ù. ¿¹¸¦ µé¾î, pack.field.attribute.Deprecated=¿¡´Â ÀÌ ¿É¼ÇÀÇ È¿°ú°¡ »ðÀԵǾî ÀÖ½À´Ï´Ù. Ư¼öÇÑ Ä³¸¯ÅÍ ¶óÀÎ ERROR, STRIP ¹× PASS µµ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

°ü·Ã Ç׸ñ:
CLASS_ATTRIBUTE_PFX, Á¤¼ö Çʵ尪

METHOD_ATTRIBUTE_PFX

static final String  METHOD_ATTRIBUTE_PFX
¸Þ¼­µå ¼Ó¼º¸íÀ¸·Î ¿¬°áÇØ »ç¿ëµÇ¾úÀ» °æ¿ì, ¼Ó¼ºÀÇ Çü½ÄÀ» ³ªÅ¸³À´Ï´Ù. ¿¹¸¦ µé¾î, pack.method.attribute.Exceptions=NH[RCH]¿¡´Â ÀÌ ¿É¼ÇÀÇ È¿°ú°¡ »ðÀԵǾî ÀÖ½À´Ï´Ù. Ư¼öÇÑ Ä³¸¯ÅÍ ¶óÀÎ ERROR, STRIP ¹× PASS µµ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

°ü·Ã Ç׸ñ:
CLASS_ATTRIBUTE_PFX, Á¤¼ö Çʵ尪

CODE_ATTRIBUTE_PFX

static final String  CODE_ATTRIBUTE_PFX
ÄÚµå ¼Ó¼º¸íÀ¸·Î ¿¬°áÇØ »ç¿ëµÇ¾úÀ» °æ¿ì, ¼Ó¼ºÀÇ Çü½ÄÀ» ³ªÅ¸³À´Ï´Ù. ¿¹¸¦ µé¾î, pack.code.attribute.LocalVariableTable=NH[PHOHRUHRSHH]¿¡´Â ÀÌ ¿É¼ÇÀÇ È¿°ú°¡ »ðÀԵǾî ÀÖ½À´Ï´Ù. Ư¼öÇÑ Ä³¸¯ÅÍ ¶óÀÎ ERROR, STRIP ¹× PASS µµ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

°ü·Ã Ç׸ñ:
CLASS_ATTRIBUTE_PFX, Á¤¼ö Çʵ尪

PROGRESS

static final String  PROGRESS
unpacker Áøô »óȲÀ» ÆÛ¼¾Æ®·Î °¡¸®Åµ´Ï´Ù. »óȲÀº unpacker¿¡ ÀÇÇØ ÁÖ±âÀûÀ¸·Î °»½ÅµË´Ï´Ù. °ª 0 ~ 100 Àº Á¤»ó,-1 Àº Á¤Ã¼¸¦ ³ªÅ¸³À´Ï´Ù. PropertyChangeListener ¿Í ÇÔ²² ÀÌ ÇÁ·ÎÆÛƼ¸¦ °¨½ÃÇϵµ·ÏÀÇÇØ ÁÖ¼¼¿ä.

unpacker´Â ÃÖÀúÇÑ, ÆÐÅ· Á¶ÀÛÀÇ ÃÖÃÊ·Î ÁøôÀ» 0 ¿¡ Á¶ÀÛÀÇ ¸¶Áö¸·¿¡ ÁøôÀ» 100 À¸·Î ¼³Á¤ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

°ü·Ã Ç׸ñ:
addPropertyChangeListener(java.beans.PropertyChangeListener), Á¤¼ö Çʵ尪

KEEP

static final String  KEEP
ij¸¯ÅÍ ¶óÀÎ ¡¸keep¡¹´Â ƯÁ¤ÀÇ ÇÁ·ÎÆÛƼ·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

°ü·Ã Ç׸ñ:
DEFLATE_HINT, MODIFICATION_TIME, Á¤¼ö Çʵ尪

PASS

static final String  PASS
ij¸¯ÅÍ ¶óÀÎ ¡¸pass¡¹´Â ƯÁ¤ÀÇ ÇÁ·ÎÆÛƼ·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

°ü·Ã Ç׸ñ:
UNKNOWN_ATTRIBUTE, CLASS_ATTRIBUTE_PFX, FIELD_ATTRIBUTE_PFX, METHOD_ATTRIBUTE_PFX, CODE_ATTRIBUTE_PFX, Á¤¼ö Çʵ尪

STRIP

static final String  STRIP
ij¸¯ÅÍ ¶óÀÎ ¡¸strip¡¹´Â ƯÁ¤ÀÇ ÇÁ·ÎÆÛƼ·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

°ü·Ã Ç׸ñ:
UNKNOWN_ATTRIBUTE, CLASS_ATTRIBUTE_PFX, FIELD_ATTRIBUTE_PFX, METHOD_ATTRIBUTE_PFX, CODE_ATTRIBUTE_PFX, Á¤¼ö Çʵ尪

ERROR

static final String  ERROR
ij¸¯ÅÍ ¶óÀÎ ¡¸error¡¹´Â ƯÁ¤ÀÇ ÇÁ·ÎÆÛƼ·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

°ü·Ã Ç׸ñ:
UNKNOWN_ATTRIBUTE, CLASS_ATTRIBUTE_PFX, FIELD_ATTRIBUTE_PFX, METHOD_ATTRIBUTE_PFX, CODE_ATTRIBUTE_PFX, Á¤¼ö Çʵ尪

TRUE

static final String  TRUE
ij¸¯ÅÍ ¶óÀÎ ¡¸true¡¹´Â ƯÁ¤ÀÇ ÇÁ·ÎÆÛƼ·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

°ü·Ã Ç׸ñ:
KEEP_FILE_ORDER, DEFLATE_HINT, Á¤¼ö Çʵ尪

FALSE

static final String  FALSE
ij¸¯ÅÍ ¶óÀÎ ¡¸false¡¹´Â ƯÁ¤ÀÇ ÇÁ·ÎÆÛƼ·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

°ü·Ã Ç׸ñ:
KEEP_FILE_ORDER, DEFLATE_HINT, Á¤¼ö Çʵ尪

LATEST

static final String  LATEST
ij¸¯ÅÍ ¶óÀÎ ¡¸latest¡¹´Â ƯÁ¤ÀÇ ÇÁ·ÎÆÛƼ·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

°ü·Ã Ç׸ñ:
MODIFICATION_TIME, Á¤¼ö Çʵ尪
¸Þ¼­µåÀÇ »ó¼¼

properties

SortedMap <String,
String > properties()
ÀÌ ¿£ÁøÀÇ ÇÁ·ÎÆÛƼ ¼¼Æ®¸¦ ÃëµæÇÕ´Ï´Ù. ÀÌ ¼¼Æ®´Â ¡¸¶óÀ̺êºä¡¹À̱⠶§¹®¿¡ ³»¿ëÀ» º¯°æÇϸé Áï½Ã Packer ¿£ÁøÀÌ ±× ¿µÇâÀ» ¹Þ½À´Ï´Ù. ¶Ç, ¿£ÁøÀ¸·ÎºÎÅÍ ÇàÇØÁø º¯°æ (ÁøôÀÇ Ç¥½Ãµî)Àº Áï½Ã ¸ÊÀ¸·Î È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÇÁ·ÎÆÛƼ ¸Ê¿¡´Â Á¤ÀÇ ³¡³­ ±¸Çö °íÀ¯ÀÇ ÇÁ·ÎÆÛƼ³ª µðÆúÆ®ÀÇ ÇÁ·ÎÆÛƼ¸¦ Æ÷ÇÔÇÒ ¼ö ÀÖ½À´Ï´Ù. »ç¿ëÀÚ´Â ±âÁ¸ÀÇ ÇÁ·ÎÆÛƼ¸¦ º¯°æÇϱâ Àü¿¡ Á¤º¸¸¦ È®ÀÎÇØ ¹Ì¸¦ ÃæºÐÈ÷ ÀÌÇØÇÏ´Â °ÍÀÌ ±ÇÀ¯¹Þ°í ÀÖ½À´Ï´Ù.

±¸Çö °íÀ¯ÀÇ ÇÁ·ÎÆÛƼ¿¡´Â com. ±×¸®°í ½ÃÀ۵Ǵ ±¸ÇöÀÚ°¡ °ü·ÃµÈ ÆÐÅ°Áö¸í, ¶Ç´Â À¯»çÇÑ Á¢µÎ»ç°¡ ºÎ°¡µË´Ï´Ù. pack. ¹× unpack. ±×¸®°í ½ÃÀ۵Ǵ ¸ðµç ÇÁ·ÎÆÛƼ¸íÀº ÀÌ API ¿ëÀ¸·Î ¿¹¾àµÇ°í ÀÖ½À´Ï´Ù.

ºÒ¸íÇÑ ÇÁ·ÎÆÛƼ´Â ¹ÌÁöÁ¤ÀÇ ¿¡·¯·Î¼­ ¹«½Ã ¶Ç´Â °ÅºÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹«È¿ÀÎ ¿£Æ®¸®¿¡ÀÇÇØ »ó¼¼ ºÒ¸í ¿¡·¯°¡ ¹ß»ýµÇ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.

¸®ÅÏµÈ ¸ÊÀº ¿É¼Ç SortedMap¸¦ ¸ðµÎ ±¸ÇöÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÇÁ·ÎÆÛƼ Å° ij¸¯ÅÍ ¶óÀΰú ÇÁ·ÎÆÛƼġÀÇ, ¼ÒÆ®µÈ °ü·ÃÁþ°í

pack

void pack(JarFile  in,
          OutputStream  out)
          throws IOException 
JarFile¸¦ ÃëµæÇØ, Pack200 ¾îÄ«À̺ê(archive)·Î º¯È¯ÇÕ´Ï´Ù.

ÀÔ·ÂÀ» ´Ý½À´Ï´Ù¸¸, Ãâ·ÂÀº ´ÝÁö ¾Ê½À´Ï´Ù (Pack200 ¾îÄ«À̺ê(archive)´Â Ãß°¡ °¡´É).

ÆĶó¹ÌÅÍ:
in - JarFile
out - OutputStream
¿¹¿Ü:
IOException - ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì

pack

void pack(JarInputStream  in,
          OutputStream  out)
          throws IOException 
JarInputStream¸¦ ÃëµæÇØ, Pack200 ¾îÄ«À̺ê(archive)·Î º¯È¯ÇÕ´Ï´Ù.

ÀÔ·ÂÀ» ´Ý½À´Ï´Ù¸¸, Ãâ·ÂÀº ´ÝÁö ¾Ê½À´Ï´Ù (Pack200 ¾îÄ«À̺ê(archive)´Â Ãß°¡ °¡´É).

JAR MANIFEST ÆÄÀÏ ¹× ±×°ÍÀ» Æ÷ÇÔÇÑ µð·ºÅ丮¿¡¼­ ¼öÁ¤ ½Ã°£ ¹× µðÇ÷¹ÀÌ¼Ç ÈùÆ® ¼Ó¼ºÀ» »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
in - JarInputStream
out - OutputStream
¿¹¿Ü:
IOException - ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
°ü·Ã Ç׸ñ:
MODIFICATION_TIME, DEFLATE_HINT

addPropertyChangeListener

void addPropertyChangeListener(PropertyChangeListener  listener)
PropertyChange À̺¥Æ®ÀÇ ¸®½º³Ê¸¦ ÇÁ·ÎÆÛƼ ¸Ê¿¡ µî·ÏÇÕ´Ï´Ù. º¸Åë, ÀÌ°ÍÀº ¾îÇø®ÄÉÀ̼ǿ¡ ÀÇÇØ Áøô ¹ÙÀÇ °»½Å¿¡ »ç¿ëµË´Ï´Ù.

ÆĶó¹ÌÅÍ:
listener - ÇÁ·ÎÆÛƼÀÇ º¯°æ½Ã¿¡ È£ÃâµÇ´Â °´Ã¼
°ü·Ã Ç׸ñ:
properties(), PROGRESS

removePropertyChangeListener

void removePropertyChangeListener(PropertyChangeListener  listener)
addPropertyChangeListener(java.beans.PropertyChangeListener) ¿¡ ÀÇÇØ Ãß°¡µÈ, PropertyChange À̺¥Æ®ÀÇ ¸®½º³Ê¸¦ »èÁ¦ÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
listener - »èÁ¦µÇ´Â PropertyChange ¸®½º³Ê
°ü·Ã Ç׸ñ:
addPropertyChangeListener(java.beans.PropertyChangeListener)

JavaTM 2 Platform
Standard Ed. 5.0

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