Java±à³Ì˼ÏëµÚ4°æ[ÖÐÎÄ°æ](PDF¸ñʽ)-µÚ85²¿·Ö
°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
¡¡¡¡¡¡¡¡¡¡¡¡int¡¡c£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡while£¨£¨c¡¡=¡¡in¡£read£¨£©£©¡¡£¡=¡¡¡1£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡out¡£write£¨c£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡in¡£close£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡out¡£close£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨Reading¡¡file¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡BufferedReader¡¡in2¡¡=¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡BufferedReader£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡InputStreamReader£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡GZIPInputStream£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡FileInputStream£¨¡¨test¡£gz¡¨£©£©£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡String¡¡s£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡while£¨£¨s¡¡=¡¡in2¡£readLine£¨£©£©¡¡£¡=¡¡null£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨s£©£»¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡catch£¨Exception¡¡e£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡e¡£printStackTrace£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡///£º~¡¡¡¡
¡¡¡¡
ѹËõÀàµÄÓ÷¨·Ç³£Ö±¹Û¡ª¡ªÖ»Ð轫Êä³öÁ÷·â×°µ½Ò»¸öGZIPOutputStream¡¡»òÕßZipOutputStream¡¡ÄÚ£¬²¢½«ÊäÈë¡¡
Á÷·â×°µ½GZIPInputStream¡¡»òÕßZipInputStream¡¡ÄÚ¼´¿É¡£Ê£ÓàµÄÈ«²¿²Ù×÷¾ÍÊDZê×¼µÄIO¶Áд¡£È»¶ø£¬ÕâÊÇ¡¡
Ò»¸öºÜµäÐ͵ÄÀý×Ó£¬ÎÒÃDz»µÃ²»»ìºÏʹÓÃоɡ¡IOÁ÷£ºÊý¾ÝµÄÊäÈëʹÓÃReader¡¡À࣬¶ø¡¡GZIPOutputStream¡¡µÄ¹¹¡¡
½¨Æ÷Ö»ÄܽÓÊÕÒ»¸ö¡¡OutputStream¡¡¶ÔÏ󣬲»ÄܽÓÊÕWriter¡¡¶ÔÏ󡣡¡¡¡
10¡£8¡£2¡¡Óá¡Zip¡¡½øÐжàÎļþ±£´æ¡¡¡¡
ÌṩÁË¡¡Zip¡¡Ö§³ÖµÄ¡¡Java¡¡1¡£1¡¡¿âÏԵøü¼ÓÈ«Ãæ¡£ÀûÓÃËü¿ÉÒÔ·½±ãµØ±£´æ¶à¸öÎļþ¡£ÉõÖÁÓÐÒ»¸ö¶ÀÁ¢µÄÀàÀ´¼ò»¯¡¡
¶ÔZip¡¡ÎļþµÄ¶Á²Ù×÷¡£Õâ¸ö¿â²É²ÉÓõÄÊDZê×¼Zip¡¡¸ñʽ£¬ËùÒÔÄÜÓ뵱ǰÒòÌØÍøÉÏʹÓõĴóÁ¿Ñ¹Ëõ¡¢½âѹ¹¤¾ß¡¡
ºÜºÃµØÐ×÷¡£ÏÂÃæÕâ¸öÀý×Ó²ÉÈ¡ÁËÓëÇ°ÀýÏàͬµÄÐÎʽ£¬µ«Äܸù¾ÝÎÒÃÇÐèÒª¿ØÖÆÈÎÒâÊýÁ¿µÄÃüÁîÐвÎÊý¡£³ý´Ë¡¡
Ö®Í⣬ËüչʾÁËÈçºÎÓá¡Checksum¡¡ÀàÀ´¼ÆËãºÍУÑéÎļþµÄ¡°Ð£ÑéºÍ¡±£¨Checksum¡¡£©¡£¿ÉÑ¡ÓÃÁ½ÖÖÀàÐ͵ġ¡
Checksum¡¡£ºAdler32¡¡£¨ËÙ¶ÈÒª¿ìһЩ£©ºÍCRC32¡¡£¨ÂýһЩ£¬µ«¸ü׼ȷ£©¡£¡¡¡¡
¡¡¡¡
//£º¡¡Zippress¡£java¡¡¡¡
//¡¡Uses¡¡Java¡¡1¡£1¡¡Zip¡¡pression¡¡to¡¡press¡¡¡¡
//¡¡any¡¡number¡¡of¡¡files¡¡whose¡¡names¡¡are¡¡passed¡¡¡¡
//¡¡on¡¡the¡¡mand¡¡line¡£¡¡¡¡
import¡¡java¡£io¡£*£»¡¡¡¡
import¡¡java¡£util¡£*£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡312¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡314¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
import¡¡java¡£util¡£zip¡£*£»¡¡¡¡
¡¡¡¡
public¡¡class¡¡Zippress¡¡£û¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡main£¨String£§£§¡¡args£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡try¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡FileOutputStream¡¡f¡¡=¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡FileOutputStream£¨¡¨test¡£zip¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡CheckedOutputStream¡¡csum¡¡=¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡CheckedOutputStream£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡f£»¡¡new¡¡Adler32£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡ZipOutputStream¡¡out¡¡=¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡ZipOutputStream£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡BufferedOutputStream£¨csum£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡out¡£setment£¨¡¨A¡¡test¡¡of¡¡Java¡¡Zipping¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Can't¡¡read¡¡the¡¡above¡¡ment£»¡¡though¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡args¡£length£»¡¡i£«£«£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨Writing¡¡file¡¡¡¨¡¡£«¡¡args£§i£§£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡BufferedReader¡¡in¡¡=¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡BufferedReader£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡FileReader£¨args£§i£§£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡out¡£putNextEntry£¨new¡¡ZipEntry£¨args£§i£§£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡int¡¡c£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡while£¨£¨c¡¡=¡¡in¡£read£¨£©£©¡¡£¡=¡¡¡1£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡out¡£write£¨c£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡in¡£close£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡out¡£close£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Checksum¡¡valid¡¡only¡¡after¡¡the¡¡file¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡//¡¡has¡¡been¡¡closed£¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨Checksum£º¡¡¡¨¡¡£«¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡csum¡£getChecksum£¨£©¡£getValue£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Now¡¡extract¡¡the¡¡files£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨Reading¡¡file¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡FileInputStream¡¡fi¡¡=¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡FileInputStream£¨¡¨test¡£zip¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡CheckedInputStream¡¡csumi¡¡=¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡CheckedInputStream£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡fi£»¡¡new¡¡Adler32£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡ZipInputStream¡¡in2¡¡=¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡ZipInputStream£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡BufferedInputStream£¨csumi£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡ZipEntry¡¡ze£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨Checksum£º¡¡¡¨¡¡£«¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡csumi¡£getChecksum£¨£©¡£getValue£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡while£¨£¨ze¡¡=¡¡in2¡£getNextEntry£¨£©£©¡¡£¡=¡¡null£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨Reading¡¡file¡¡¡¨¡¡£«¡¡ze£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡int¡¡x£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡while£¨£¨x¡¡=¡¡in2¡£read£¨£©£©¡¡£¡=¡¡¡1£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£write£¨x£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡in2¡£close£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡313¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡315¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Alternative¡¡way¡¡to¡¡open¡¡and¡¡read¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡//¡¡zip¡¡files£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡ZipFile¡¡zf¡¡=¡¡new¡¡ZipFile£¨¡¨test¡£zip¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡Enumeration¡¡e¡¡=¡¡zf¡£entries£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡while£¨e¡£hasMoreElements£¨£©£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ZipEntry¡¡ze2¡¡=¡¡£¨ZipEntry£©e¡£nextElement£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨File£º¡¡¡¨¡¡£«¡¡ze2£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡¡£¡£¡£¡¡and¡¡extract¡¡the¡¡data¡¡as¡¡before¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡catch£¨Exception¡¡e£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡e¡£printStackTrace£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡///£º~¡¡¡¡
¡¡¡¡
¶ÔÓÚÒª¼ÓÈëѹËõµµµÄÿһ¸öÎļþ£¬¶¼±ØÐëµ÷Óá¡putNextEntry£¨£©£¬²¢½«Æä´«µÝ¸øÒ»¸öZipEntry¡¡¶ÔÏ󡣡¡
ZipEntry¡¡¶ÔÏó°üº¬ÁËÒ»¸ö¹¦ÄÜÈ«ÃæµÄ½Ó¿Ú£¬ÀûÓÃËü¿ÉÒÔ»ñÈ¡ºÍÉèÖá¡Zip¡¡ÎļþÄÚÄǸöÌض¨µÄ¡¡Entry¡¡£¨Èë¿Ú£©ÉÏ¡¡
Äܹ»½ÓÊܵÄËùÓÐÊý¾Ý£ºÃû×Ö¡¢Ñ¹ËõºóºÍѹËõÇ°µÄ³¤¶È¡¢ÈÕÆÚ¡¢CRC¡¡Ð£ÑéºÍ¡¢¶îÍâ×ֶεÄÊý¾Ý¡¢×¢ÊÍ¡¢Ñ¹Ëõ·½¡¡
·¨ÒÔ¼°ËüÊÇ·ñÒ»¸öĿ¼Èë¿ÚµÈµÈ¡£È»¶ø£¬ËäÈ»¡¡Zip¡¡¸ñʽÌṩÁËÉèÖÃÃÜÂëµÄ·½·¨£¬µ«Java¡¡µÄZip¡¡¿âûÓÐÌṩÕâ¡¡
·½ÃæµÄÖ§³Ö¡£¶øÇÒ¾¡¹Ü¡¡CheckedInputStream¡¡ºÍCheckedOutputStream¡¡Í¬Ê±ÌṩÁ˶ÔAdler32¡¡ºÍCRC32¡¡Ð£ÑéºÍ¡¡
µÄÖ§³Ö£¬µ«ÊÇZipEntry¡¡Ö»Ö§³Ö¡¡CRC¡¡µÄ½Ó¿Ú¡£ÕâËäÈ»ÊôÓÚ»ù²ãZip¡¡¸ñʽµÄÏÞÖÆ£¬µ«È´ÏÞÖÆÁËÎÒÃÇʹÓÃËٶȸü¿ì¡¡
µÄAdler32¡£¡¡¡¡
Ϊ½âѹÎļþ£¬ZipInputStream¡¡ÌṩÁËÒ»¸ö¡¡getNextEntry£¨£©·½·¨£¬ÄÜÔÚÓеÄÇ°ÌáÏ·µ»ØÏÂÒ»¸öZipEntry¡¡¡£×÷¡¡
Ϊһ¸ö¸ü¼ò½àµÄ·½·¨£¬¿ÉÒÔÓá¡ZipFile¡¡¶ÔÏó¶ÁÈ¡Îļþ¡£¸Ã¶ÔÏóÓÐÒ»¸ö¡¡entries£¨£©·½·¨£¬¿ÉÒÔΪ¡¡ZipEntry¡¡·µ»Ø¡¡
Ò»¸öEnumeration¡¡£¨Ã¶¾Ù£©¡£¡¡¡¡
Ϊ¶ÁȡУÑéºÍ£¬±ØÐë¶àÉÙÓµÓжԹØÁªµÄChecksum¡¡¶ÔÏóµÄ·ÃÎÊȨÏÞ¡£ÔÚÕâÀï±£ÁôÁËÖ¸ÏòCheckedOutputStream¡¡
ºÍCheckedInputStream¡¡¶ÔÏóµÄÒ»¸ö¾ä±ú¡£µ«ÊÇ£¬Ò²¿ÉÒÔÖ»Õ¼ÓÐÖ¸ÏòChecksum¡¡¶ÔÏóµÄÒ»¸ö¾ä±ú¡£¡¡¡¡
Zip¡¡Á÷ÖÐÒ»¸öÁîÈËÀ§»óµÄ·½·¨ÊÇ¡¡setment£¨£©¡£ÕýÈçÇ°ÃæչʾµÄÄÇÑù£¬ÎÒÃÇ¿ÉÔÚдһ¸öÎļþʱÉèÖÃ×¢ÊÍÄÚ¡¡
ÈÝ£¬µ«È´Ã»Óа취ȡ³ö¡¡ZipInputStream¡¡ÄÚµÄ×¢ÊÍ¡£¿´ÆðÀ´£¬ËƺõÖ»ÄÜͨ¹ýZipEntry¡¡Öð¸öÈë¿ÚµØÌṩ¶Ô×¢ÊÍ¡¡
µÄÍêÈ«Ö§³Ö¡£¡¡¡¡
µ±È»£¬Ê¹Óá¡GZIP¡¡»òZip¡¡¿âʱ²¢²»½ö½öÏÞÓÚÎļþ¡ª¡ª¿ÉÒÔѹËõÈκζ«Î÷£¬°üÀ¨ÒªÍ¨¹ýÍøÂçÁ¬½Ó·¢Ë͵ÄÊý¾Ý¡£¡¡¡¡
10¡£8¡£3¡¡Java¡¡¹éµµ£¨jar¡¡£©ÊµÓóÌÐò¡¡¡¡
Zip¡¡¸ñʽÒàÔÚJava¡¡1¡£1¡¡µÄJAR¡¡£¨Java¡¡ARchive£©Îļþ¸ñʽÖеõ½Á˲ÉÓá£ÕâÖÖÎļþ¸ñʽµÄ×÷ÓÃÊǽ«Ò»ÏµÁÐÎÄ¡¡
¼þºÏ²¢µ½µ¥¸öѹËõÎļþÀ¾ÍÏóZip¡¡ÄÇÑù¡£È»¶ø£¬Í¬Java¡¡ÖÐÆäËûÈκζ«Î÷Ò»Ñù£¬JAR¡¡ÎļþÊÇ¿çƽ̨µÄ£¬ËùÒÔ¡¡
²»±Ø¹ØÐÄÉæ¼°¾ßÌåƽ̨µÄÎÊÌâ¡£³ýÁË¿ÉÒÔ°üÀ¨ÉùÒôºÍͼÏñÎļþÒÔÍ⣬Ҳ¿ÉÒÔÔÚÆäÖаüÀ¨ÀàÎļþ¡£¡¡¡¡
Éæ¼°ÒòÌØÍøÓ¦ÓÃʱ£¬JAR¡¡ÎļþÏÔµÃÌرðÓÐÓá£ÔÚ¡¡JAR¡¡Îļþ֮ǰ£¬Web¡¡ä¯ÀÀÆ÷±ØÐëÖظ´¶à´ÎÇëÇóWeb¡¡·þÎñÆ÷£¬ÒÔ¡¡
±ãÏÂÔØÍê¹¹³ÉÒ»¸ö¡°³ÌÐòƬ¡±£¨Applet£©µÄËùÓÐÎļþ¡£³ý´ËÒÔÍ⣬ÿ¸öÎļþ¶¼ÊÇδ¾Ñ¹ËõµÄ¡£µ«ÔÚ½«ËùÓÐÕâ¡¡
ЩÎļþºÏ²¢µ½Ò»¸ö¡¡JAR¡¡ÎļþÀïÒÔºó£¬Ö»ÐèÏòÔ¶³Ì·þÎñÆ÷·¢³öÒ»´ÎÇëÇó¼´¿É¡£Í¬Ê±£¬ÓÉÓÚ²ÉÓÃÁËѹËõ¼¼Êõ£¬Ëù¡¡
ÒÔ¿ÉÔÚ¸ü¶ÌµÄʱ¼äÀï»ñµÃÈ«²¿Êý¾Ý¡£ÁíÍ⣬JAR¡¡ÎļþÀïµÄÿ¸öÈë¿Ú£¨ÌõÄ¿£©¶¼¿ÉÒÔ¼ÓÉÏÊý×Ö»¯Ç©Ãû£¨ÏêÇé²Î¡¡
¿¼Java¡¡Óû§Îĵµ£©¡£¡¡¡¡
Ò»¸öJAR¡¡ÎļþÓÉһϵÁвÉÓá¡Zip¡¡Ñ¹Ëõ¸ñʽµÄÎļþ¹¹³É£¬Í¬Ê±»¹ÓÐÒ»ÕÅ¡°ÏêÇéµ¥¡±£¬¶ÔËùÓÐÕâЩÎļþ½øÐÐÁËÃè¡¡
Êö£¨¿É´´½¨×Ô¼ºµÄÏêÇéµ¥Îļþ£»·ñÔò£¬jar³ÌÐò»áΪÎÒÃÇ´úÀÍ£©¡£ÔÚÁª»úÓû§ÎĵµÖУ¬¿ÉÒÔÕÒµ½ÓëJAR¡¡ÏêÇé¡¡
µ¥¸ü¶àµÄ×ÊÁÏ£¨ÏêÇéµ¥µÄÓ¢ÓïÊÇ¡°Manifest¡¡¡±£©¡£¡¡¡¡
jar¡¡ÊµÓóÌÐòÒÑÓëSun¡¡µÄJDK¡¡ÅäÌ×Ìṩ£¬¿ÉÒÔ°´ÎÒÃǵÄÑ¡Ôñ×Ô¶¯Ñ¹ËõÎļþ¡£ÇëÔÚÃüÁîÐе÷ÓÃËü£º¡¡¡¡
¡¡¡¡
jar¡¡£§Ñ¡Ï¡¡ËµÃ÷¡¡£§ÏêÇéµ¥£§¡¡ÊäÈëÎļþ¡¡¡¡
¡¡¡¡
ÆäÖУ¬¡°Ñ¡ÏÓÃһϵÁÐ×Öĸ±íʾ£¨²»±ØÊäÈëÁ¬×ֺŻòÆäËûÈκÎָʾ·û£©¡£ÈçÏÂËùʾ£º¡¡¡¡
¡¡¡¡
c¡¡´´½¨ÐµĻò¿ÕµÄѹËõµµ¡¡¡¡
t¡¡ÁгöĿ¼±í¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡314¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡316¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
x¡¡½âѹËùÓÐÎļþ¡¡¡¡
x¡¡file¡¡½âѹָ¶¨Îļþ¡¡¡¡
f¡¡Ö¸³ö¡°ÎÒ×¼±¸ÏòÄãÌṩÎļþÃû¡±¡£ÈôÊ¡ÂԴ˲ÎÊý£¬jar¡¡»á¼Ù¶¨ËüµÄÊäÈëÀ´×Ô±ê×¼ÊäÈ룻»òÕßÔÚËü´´½¨Îļþ¡¡
ʱ£¬Êä³ö»á½øÈë±ê×¼Êä³öÄÚ¡¡¡¡
m¡¡Ö¸³öµÚÒ»¸ö²ÎÊý½«ÊÇÓû§×Ô½¨µÄÏêÇé±íÎļþµÄÃû×Ö¡¡¡¡
v¡¡²úÉúÏêϸÊä³ö£¬¶Ô¡¡jar×öµÄ¹¤×÷½øÐоÞϸÎÞÒŵÄÃèÊö¡¡¡¡
O¡¡Ö»±£´æÎļþ£»²»Ñ¹ËõÎļþ£¨ÓÃÓÚ´´½¨Ò»¸ö¡¡JAR¡¡Îļþ£¬ÒÔ±ãÎÒÃǽ«ÆäÖÃÈë×Ô¼ºµÄÀà·¾¶ÖУ©¡¡¡¡
M¡¡²»×Ô¶¯Éú³ÉÏêÇé±íÎļþ¡¡¡¡
¡¡¡¡
ÔÚ×¼±¸½øÈë¡¡JAR¡¡ÎļþµÄÎļþÖУ¬Èô°üÀ¨ÁËÒ»¸ö×ÓĿ¼£¬ÄǸö×ÓĿ¼»á×Ô¶¯Ìí¼Ó£¬ÆäÖаüÀ¨Ëü×Ô¼ºµÄËùÓÐ×ÓÄ¿¡¡
¼£¬ÒÔ´ËÀàÍÆ¡£Â·¾¶ÐÅÏ¢Ò²»áµÃµ½±£Áô¡£¡¡¡¡
ÏÂÃæÊǵ÷Óá¡jar¡¡µÄһЩµäÐÍ·½·¨£º¡¡¡¡
¡¡¡¡
jar¡¡cf¡¡myJarFile¡£jar¡¡*¡£class¡¡¡¡
ÓÃÓÚ´´½¨Ò»¸öÃûΪmyJarFile¡£jar¡¡µÄJAR¡¡Îļþ£¬ÆäÖаüº¬Á˵±Ç°Ä¿Â¼ÖеÄËùÓÐÀàÎļþ£¬Í¬Ê±»¹ÓÐ×Ô¶¯²úÉúµÄ¡¡
ÏêÇé±íÎļþ¡£¡¡¡¡
¡¡¡¡
jar¡¡cmf¡¡myJarFile¡£jar¡¡myManifestFile¡£mf¡¡*¡£class¡¡¡¡
ÓëÇ°ÀýÀàËÆ£¬µ«Ìí¼ÓÁËÒ»¸öÃûΪmyManifestFile¡£mf¡¡µÄÓû§×Ô½¨ÏêÇé±íÎļþ¡£¡¡¡¡
¡¡¡¡
jar¡¡tf¡¡myJarFile¡£jar¡¡¡¡
Éú³ÉmyJarFile¡£jar¡¡ÄÚËùÓÐÎļþµÄÒ»¸öĿ¼±í¡£¡¡¡¡
¡¡¡¡
jar¡¡tvf¡¡myJarFile¡£jar¡¡¡¡
Ìí¼Ó¡°verbose¡±£¨Ï꾡£©±êÖ¾£¬ÌṩÓëmyJarFile¡£jar¡¡ÖеÄÎļþÓйصġ¢¸üÏêϸµÄ×ÊÁÏ¡£¡¡¡¡
¡¡¡¡
jar¡¡cvf¡¡myApp¡£jar¡¡audio¡¡classes¡¡image¡¡¡¡
¼Ù¶¨audio£¬classes¡¡ºÍ¡¡image¡¡ÊÇ×ÓĿ¼£¬ÕâÑù±ã½«ËùÓÐ×ÓĿ¼ºÏ²¢µ½ÎļþmyApp¡£jar¡¡ÖС£ÆäÖÐÒ²°üÀ¨ÁË¡¡
¡¡¡°verbose¡±±êÖ¾£¬¿ÉÔÚjar¡¡³ÌÐò¹¤×÷ʱ·´À¡¸üÏ꾡µÄÐÅÏ¢¡£¡¡¡¡
¡¡¡¡
Èç¹ûÓÃO¡¡Ñ¡Ïî´´½¨ÁËÒ»¸öJAR¡¡Îļþ£¬ÄǸöÎļþ¾Í¿ÉÖÃÈë×Ô¼ºµÄÀà·¾¶£¨CLASSPATH£©ÖУº¡¡¡¡
CLASSPATH=¡¨lib1¡£jar£»lib2¡£jar£»¡¨¡¡¡¡
Java¡¡ÄÜÔÚ¡¡lib1¡£jar¡¡ºÍ¡¡lib2¡£jar¡¡ÖÐËÑË÷Ä¿±êÀàÎļþ¡£¡¡¡¡
¡¡¡¡
jar¹¤¾ßµÄ¹¦ÄÜûÓÐzip¡¡¹¤¾ßÄÇô·á¸»¡£ÀýÈ磬²»Äܹ»Ìí¼Ó»ò¸üÐÂÒ»¸öÏֳɡ¡JAR¡¡ÎļþÖеÄÎļþ£¬Ö»ÄÜ´ÓÍ·¿ª¡¡
ʼн¨Ò»¸ö¡¡JAR¡¡Îļþ¡£´ËÍ⣬²»Äܽ«ÎļþÒÆÈëÒ»¸ö¡¡JAR¡¡Îļþ£¬²¢ÔÚÒƶ¯ºó½«ËüÃÇɾ³ý¡£È»¶ø£¬ÔÚÒ»ÖÖƽ̨ÉÏ¡¡
´´½¨µÄ¡¡JAR¡¡Îļþ¿ÉÔÚÆäËûÈκÎƽ̨ÉÏÓÉjar¹¤¾ßºÁÎÞ×谵ضÁ³ö£¨Õâ¸öÎÊÌâÓÐʱ»áÀ§ÈÅzip¡¡¹¤¾ß£©¡£¡¡¡¡
ÕýÈç´ó¼ÒÔÚµÚ¡¡13¡¡Õ»ῴµ½µÄÄÇÑù£¬ÎÒÃÇÒ²ÓÃJAR¡¡ÎªJava¡¡Beans¡¡´ò°ü¡£¡¡¡¡
10¡£9¡¡¶ÔÏóÐòÁл¯¡¡¡¡
Java¡¡1¡£1¡¡ÔöÌíÁËÒ»ÖÖÓÐȤµÄÌØÐÔ£¬ÃûΪ¡°¶ÔÏóÐòÁл¯¡±£¨Object¡¡Serialization£©¡£ËüÃæÏòÄÇЩʵÏÖÁË¡¡
Serializable¡¡½Ó¿ÚµÄ¶ÔÏ󣬿ɽ«ËüÃÇת»»³ÉһϵÁÐ×Ö½Ú£¬²¢¿ÉÔÚÒÔºóÍêÈ«»Ö¸´»ØÔÀ´µÄÑù×Ó¡£ÕâÒ»¹ý³ÌÒà¿É¡¡
ͨ¹ýÍøÂç½øÐС£ÕâÒâζ×ÅÐòÁл¯»úÖÆÄÜ×Ô¶¯²¹³¥²Ù×÷ϵͳ¼äµÄ²îÒì¡£»»¾ä»°Ëµ£¬¿ÉÒÔÏÈÔÚWindows¡¡»úÆ÷ÉÏ´´¡¡
½¨Ò»¸ö¶ÔÏ󣬶ÔÆäÐòÁл¯£¬È»ºóͨ¹ýÍøÂç·¢¸øһ̨¡¡Unix¡¡»úÆ÷£¬È»ºóÔÚÄÇÀï׼ȷÎÞÎóµØÖØС°×°Å䡱¡£²»±Ø¹Ø¡¡
ÐÄÊý¾ÝÔÚ²»Í¬»úÆ÷ÉÏÈçºÎ±íʾ£¬Ò²²»±Ø¹ØÐÄ×Ö½ÚµÄ˳Ðò»òÕßÆäËûÈκÎϸ½Ú¡£¡¡¡¡
¾ÍÆä±¾ÉíÀ´Ëµ£¬¶ÔÏóµÄÐòÁл¯ÊǷdz£ÓÐȤµÄ£¬ÒòΪÀûÓÃËü¿ÉÒÔʵÏÖ¡°ÓÐÏ޳־û¯¡±¡£Çë¼Çס¡°³Ö¾Ã»¯¡±Òâζ¡¡
×ŶÔÏóµÄ¡°Éú´æʱ¼ä¡±²¢²»È¡¾öÓÚ³ÌÐòÊÇ·ñÕýÔÚÖ´ÐСª¡ªËü´æÔÚ»ò¡°Éú´æ¡±ÓÚ³ÌÐòµÄÿһ´Îµ÷ÓÃÖ®¼ä¡£Í¨¹ý¡¡
ÐòÁл¯Ò»¸ö¶ÔÏ󣬽«ÆäдÈë´ÅÅÌ£¬ÒÔºóÔÚ³ÌÐòÖØе÷ÓÃʱÖØлָ´ÄǸö¶ÔÏ󣬾ÍÄÜÔ²ÂúʵÏÖÒ»ÖÖ¡°³Ö¾Ã¡±Ð§¡¡
¹û¡£Ö®ËùÒÔ³ÆÆäΪ¡°ÓÐÏÞ¡±£¬ÊÇÒòΪ²»ÄÜÓÃijÖÖ¡°persistent¡±£¨³Ö¾Ã£©¹Ø¼ü×Ö¼òµ¥µØµØ¶¨ÒåÒ»¸ö¶ÔÏ󣬲¢¡¡
ÈÃϵͳ×Ô¶¯ÕÕ¿´ÆäËûËùÓÐϸ½ÚÎÊÌ⣨¾¡¹Ü½«À´¿ÉÄܳÉΪÏÖʵ£©¡£Ïà·´£¬±ØÐëÔÚ×Ô¼ºµÄ³ÌÐòÖÐÃ÷È·µØÐòÁл¯ºÍ¡¡
×é×°¶ÔÏ󡣡¡¡¡
ÓïÑÔÀïÔö¼ÓÁ˶ÔÏóÐòÁл¯µÄ¸ÅÄîºó£¬¿ÉÌṩ¶ÔÁ½ÖÖÖ÷ÒªÌØÐÔµÄÖ§³Ö¡£Java¡¡1¡£1¡¡µÄ¡°Ô¶³Ì·½·¨µ÷Óá±£¨RMI£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡315¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡317¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
ʹ±¾À´´æÔÚÓÚÆäËû»úÆ÷µÄ¶ÔÏó¿ÉÒÔ±íÏÖ³öºÃÏó¾ÍÔÚ±¾µØ»úÆ÷ÉϵÄÐÐΪ¡£½«ÏûÏ¢·¢¸øÔ¶³Ì¶ÔÏóʱ£¬ÐèҪͨ¹ý¶Ô¡¡
ÏóÐòÁл¯À´´«Êä²ÎÊýºÍ·µ»ØÖµ¡£RMI¡¡½«ÔÚµÚ¡¡15Õ