°Ë±¦Êé¿â > ÎÄѧÆäËûµç×ÓÊé > Java±à³Ì˼ÏëµÚ4°æ[ÖÐÎÄ°æ](PDF¸ñʽ) >

µÚ85²¿·Ö

Java±à³Ì˼ÏëµÚ4°æ[ÖÐÎÄ°æ](PDF¸ñʽ)-µÚ85²¿·Ö

С˵£º Java±à³Ì˼ÏëµÚ4°æ[ÖÐÎÄ°æ](PDF¸ñʽ) ×ÖÊý£º ÿҳ4000×Ö

°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³£¬°´¼üÅÌÉ쵀 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Õ

·µ»ØĿ¼ ÉÏÒ»Ò³ ÏÂÒ»Ò³ »Øµ½¶¥²¿ ÔÞ£¨0£© ²È£¨1£©

Äã¿ÉÄÜϲ»¶µÄ