Ò»¡¢±³¾°
1¡¢µ±ÎÒÃǵÚÒ»´Î½Ó´¥Ä³¶Î´úÂ룬µ«ÓÖ±»ÒªÇóÔÚ¼«¶ÌµÄʱ¼äÄÚÓÐЧµØ·ÖÎöÕâ¶Î´úÂ룬ÎÒÃÇÐèҪʲôÑùµÄ×¢ÊÍÐÅÏ¢£¿
2¡¢ÔõôÑù±ÜÃâÎÒÃǵÄ×¢ÊÍÈß³¤¶øÇÒÁèÂÒ²»¿°ÄØ£¿
3¡¢ÔÚ¶àÈËÐͬ¿ª·¢¡¢Î¬»¤µÄ½ñÌ죬ÎÒÃÇÐèÒªÔõôÑùµÄ×¢ÊÍÀ´±£Ö¤¸ßÖÊ¡¢¸ß½»µÄ½øÐпª·¢ºÍά»¤¹¤×÷ÄØ£¿
¶þ¡¢ÒâÒå
³ÌÐòÖеÄ×¢ÊÍÊdzÌÐòÉè¼ÆÕßÓë³ÌÐòÔĶÁÕßÖ®¼äͨÐŵÄÖØÒªÊֶΡ£Ó¦ÓÃ×¢Ê͹淶¶ÔÓÚÈí¼þ±¾ÉíºÍÈí¼þ¿ª·¢ÈËÔ±¶øÑÔÓÈÎªÖØÒª¡£²¢ÇÒÔÚÁ÷ÐеÄÃô½Ý¿ª·¢Ë¼ÏëÖÐÒѾÌá³öÁ˽«×¢ÊÍתΪ´úÂëµÄ¸ÅÄî¡£ºÃµÄ×¢Ê͹淶¿ÉÒÔ¾¡¿ÉÄܵļõÉÙÒ»¸öÈí¼þµÄά»¤³É±¾ , ²¢ÇÒ¼¸ºõûÓÐÈκÎÒ»¸öÈí¼þ£¬ÔÚÆäÕû¸öÉúÃüÖÜÆÚÖУ¬¾ùÓÉ×î³õµÄ¿ª·¢ÈËÔ±À´Î¬»¤¡£ºÃµÄ×¢Ê͹淶¿ÉÒÔ¸ÄÉÆÈí¼þµÄ¿É¶ÁÐÔ£¬¿ÉÒÔÈÿª·¢ÈËÔ±¾¡¿ì¶ø³¹µ×µØÀí½âеĴúÂë¡£ºÃµÄ×¢Ê͹淶¿ÉÒÔ×î´óÏ޶ȵÄÌá¸ßÍŶӿª·¢µÄºÏ×÷ЧÂÊ¡£³¤ÆÚµÄ¹æ·¶ÐÔ±àÂ뻹¿ÉÒÔÈÿª·¢ÈËÔ±Ñø³ÉÁ¼ºÃµÄ±àÂëϰ¹ß£¬ÉõÖÁ¶ÍÁ¶³ö¸ü¼ÓÑϽ÷µÄ˼άÄÜÁ¦¡£
Èý¡¢×¢Ê͵ÄÔÔò
1¡¢ ×¢ÊÍÐÎʽͳһ
ÔÚÕû¸öÓ¦ÓóÌÐòÖУ¬Ê¹ÓþßÓÐÒ»ÖµıêµãºÍ½á¹¹µÄÑùʽÀ´¹¹Ôì×¢ÊÍ¡£Èç¹ûÔÚÆäËûÏîÄ¿×é·¢ÏÖËûÃǵÄ×¢Ê͹淶ÓëÕâ·ÝÎĵµ²»Í¬£¬°´ÕÕËûÃǵĹ淶д´úÂ룬²»ÒªÊÔͼÔڼȳɵĹ淶ϵͳÖÐÒýÈëеĹ淶¡£
2¡¢ ×¢Ê͵ļò½à
ÄÚÈÝÒª¼òµ¥¡¢ ......
1£©DOM£¨JAXP Crimson½âÎöÆ÷£©
DOMÊÇÓÃÓëÆ½Ì¨ºÍÓïÑÔÎ޹صķ½Ê½±íʾXMLÎĵµµÄ¹Ù·½W3C±ê×¼¡£DOMÊÇÒÔ²ã´Î½á¹¹×éÖ¯µÄ½Úµã»òÐÅϢƬ¶ÏµÄ¼¯ºÏ¡£Õâ¸ö²ã´Î½á¹¹ÔÊÐí¿ª·¢ÈËÔ±ÔÚÊ÷ÖÐѰÕÒ
ÌØ¶¨ÐÅÏ¢¡£·ÖÎö¸Ã½á¹¹Í¨³£ÐèÒª¼ÓÔØÕû¸öÎĵµºÍ¹¹Ôì²ã´Î½á¹¹£¬È»ºó²ÅÄÜ×öÈκι¤×÷¡£ÓÉÓÚËüÊÇ»ùÓÚÐÅÏ¢²ã´ÎµÄ£¬Òò¶øDOM±»ÈÏΪÊÇ»ùÓÚÊ÷»ò»ùÓÚ¶ÔÏóµÄ¡£DOM
ÒÔ¼°¹ãÒåµÄ»ùÓÚÊ÷µÄ´¦Àí¾ßÓм¸¸öÓŵ㡣Ê×ÏÈ£¬ÓÉÓÚÊ÷ÔÚÄÚ´æÖÐÊdz־õģ¬Òò´Ë¿ÉÒÔÐÞ¸ÄËüÒÔ±ãÓ¦ÓóÌÐòÄܶÔÊý¾ÝºÍ½á¹¹×÷³ö¸ü¸Ä¡£Ëü»¹¿ÉÒÔÔÚÈκÎʱºòÔÚÊ÷ÖÐÉÏÏÂ
µ¼º½£¬¶ø²»ÊÇÏñSAXÄÇÑùÊÇÒ»´ÎÐԵĴ¦Àí¡£DOMʹÓÃÆðÀ´Ò²Òª¼òµ¥µÃ¶à¡£
2£©SAX
SAX´¦ÀíµÄÓŵã·Ç³£ÀàËÆÓÚÁ÷ýÌåµÄÓŵ㡣·ÖÎöÄܹ»Á¢¼´¿ªÊ¼£¬¶ø²»ÊǵȴýËùÓеÄÊý¾Ý±»´¦Àí¡£¶øÇÒ£¬ÓÉÓÚÓ¦ÓóÌÐòÖ»ÊÇÔÚ¶ÁÈ¡Êý¾Ýʱ¼ì²éÊý¾Ý£¬Òò´Ë²»ÐèÒª½«Êý
¾Ý´æ´¢ÔÚÄÚ´æÖС£Õâ¶ÔÓÚ´óÐÍÎĵµÀ´ËµÊǸö¾Þ´óµÄÓŵ㡣ÊÂʵÉÏ£¬Ó¦ÓóÌÐòÉõÖÁ²»±Ø½âÎöÕû¸öÎĵµ£»Ëü¿ÉÒÔÔÚij¸öÌõ¼þµÃµ½Âú×ãʱֹͣ½âÎö¡£Ò»°ãÀ´Ëµ£¬SAX»¹±È
ËüµÄÌæ´úÕßDOM¿ìÐí¶à¡£
Ñ¡ÔñDOM»¹ÊÇÑ¡ÔñSAX£¿ ¶ÔÓÚÐèÒª×Ô¼º±àд´úÂëÀ´´¦ÀíXMLÎĵµµÄ¿ª·¢ÈËÔ±À´Ëµ£¬ Ñ¡ÔñDOM»¹ÊÇSA ......
1£©DOM£¨JAXP Crimson½âÎöÆ÷£©
DOMÊÇÓÃÓëÆ½Ì¨ºÍÓïÑÔÎ޹صķ½Ê½±íʾXMLÎĵµµÄ¹Ù·½W3C±ê×¼¡£DOMÊÇÒÔ²ã´Î½á¹¹×éÖ¯µÄ½Úµã»òÐÅϢƬ¶ÏµÄ¼¯ºÏ¡£Õâ¸ö²ã´Î½á¹¹ÔÊÐí¿ª·¢ÈËÔ±ÔÚÊ÷ÖÐѰÕÒ
ÌØ¶¨ÐÅÏ¢¡£·ÖÎö¸Ã½á¹¹Í¨³£ÐèÒª¼ÓÔØÕû¸öÎĵµºÍ¹¹Ôì²ã´Î½á¹¹£¬È»ºó²ÅÄÜ×öÈκι¤×÷¡£ÓÉÓÚËüÊÇ»ùÓÚÐÅÏ¢²ã´ÎµÄ£¬Òò¶øDOM±»ÈÏΪÊÇ»ùÓÚÊ÷»ò»ùÓÚ¶ÔÏóµÄ¡£DOM
ÒÔ¼°¹ãÒåµÄ»ùÓÚÊ÷µÄ´¦Àí¾ßÓм¸¸öÓŵ㡣Ê×ÏÈ£¬ÓÉÓÚÊ÷ÔÚÄÚ´æÖÐÊdz־õģ¬Òò´Ë¿ÉÒÔÐÞ¸ÄËüÒÔ±ãÓ¦ÓóÌÐòÄܶÔÊý¾ÝºÍ½á¹¹×÷³ö¸ü¸Ä¡£Ëü»¹¿ÉÒÔÔÚÈκÎʱºòÔÚÊ÷ÖÐÉÏÏÂ
µ¼º½£¬¶ø²»ÊÇÏñSAXÄÇÑùÊÇÒ»´ÎÐԵĴ¦Àí¡£DOMʹÓÃÆðÀ´Ò²Òª¼òµ¥µÃ¶à¡£
2£©SAX
SAX´¦ÀíµÄÓŵã·Ç³£ÀàËÆÓÚÁ÷ýÌåµÄÓŵ㡣·ÖÎöÄܹ»Á¢¼´¿ªÊ¼£¬¶ø²»ÊǵȴýËùÓеÄÊý¾Ý±»´¦Àí¡£¶øÇÒ£¬ÓÉÓÚÓ¦ÓóÌÐòÖ»ÊÇÔÚ¶ÁÈ¡Êý¾Ýʱ¼ì²éÊý¾Ý£¬Òò´Ë²»ÐèÒª½«Êý
¾Ý´æ´¢ÔÚÄÚ´æÖС£Õâ¶ÔÓÚ´óÐÍÎĵµÀ´ËµÊǸö¾Þ´óµÄÓŵ㡣ÊÂʵÉÏ£¬Ó¦ÓóÌÐòÉõÖÁ²»±Ø½âÎöÕû¸öÎĵµ£»Ëü¿ÉÒÔÔÚij¸öÌõ¼þµÃµ½Âú×ãʱֹͣ½âÎö¡£Ò»°ãÀ´Ëµ£¬SAX»¹±È
ËüµÄÌæ´úÕßDOM¿ìÐí¶à¡£
Ñ¡ÔñDOM»¹ÊÇÑ¡ÔñSAX£¿ ¶ÔÓÚÐèÒª×Ô¼º±àд´úÂëÀ´´¦ÀíXMLÎĵµµÄ¿ª·¢ÈËÔ±À´Ëµ£¬ Ñ¡ÔñDOM»¹ÊÇSA ......
java byteÓëchar»¥×ªÔÀí-ת
Ò»¡¢×Ö½ÚºÍunicode
JavaÄÚºËÊÇunicodeµÄ£¬¾ÍÁ¬classÎļþÒ²ÊÇ£¬µ«ÊǺܶàýÌ壬°üÀ¨Îļþ/Á÷µÄ±£´æ·½Ê½ÊÇʹÓÃ×Ö½ÚÁ÷µÄ¡£Òò´ËJavaÒª¶ÔÕâЩ×Ö½ÚÁ÷¾ÐÐת»¯¡£ charÊÇunicodeµÄ£¬¶øbyteÊÇ×Ö½Ú¡£JavaÖÐ byte/char»¥×ªµÄº¯ÊýÔÚsun.ioµÄ°üÖмäÓС£ÆäÖÐByteToCharConverterÀàÊÇÖе÷¶È£¬¿ÉÒÔÓÃÀ´¸æËßÄ㣬ÄãÓÃµÄ convertor¡£ÆäÖÐÁ½¸öºÜ³£Óõľ²Ì¬º¯ÊýÊÇ£º
public static ByteToCharConverter getDefault();
public static ByteToCharConverter getConverter(String encoding);
Èç¹ûÄã²»Ö¸¶¨converter£¬Ôòϵͳ»á×Ô¶¯Ê¹Óõ±Ç°µÄencoding,gbƽ̨ÉÏÓÃgbk,enƽ̨ÉÏÓÃ8859_1¡£
byte ——¡µchar£º
"Äã"µÄgbÂëÊÇ£º0xc4e3 ,unicodeÊÇ0x4f60
String encoding = "gb2312";
byte b[] = {(byte)'\u00c4',(byte)'\u00e3'};
ByteToCharConverter converter = ByteToCharConverter.getConverter(encoding);
char c[] = converter.convertAll(b);
for (int i = 0; i < c.length; i++) {
System.out.println(Integer.toHexString(c[i]));
}
½á¹ûÊÇʲô£¿0x4f60
Èç¹ûencoding ="8859_1"£¬½á¹ûÓÖÊÇʲô£¿0x00c4,0x00e3
Èç¹û´úÂë¸ÄΪ£ ......
java×öµÄϵͳ¸øÈ˵ÄÓ¡ÏóÊÇʲô£¿Õ¼Äڴ棡˵µÀÕâ¾ä»°¾Í»áÓÐN¶àÈËÕ¾³öÀ´Îªjava±ç»¤£¬²¢¾Ù³öÒ»¶ÑµÄÐÔÄܲâÊÔ±¨¸æÀ´Ö¤Ã÷ÕâÒ»µã¡£Æäʵ´ÓÀíÂÛÉÏÀ´½²java×öµÄϵͳ²¢²»±ÈÆäËûÓïÑÔ¿ª·¢³öÀ´µÄϵͳ¸üÕ¼ÓÃÄڴ棬ÄÇôΪʲôȴÓÐÕâôN¶àÀíÓÉÀ´Ö¤Ã÷ËüȷʵռÄÚ´æÄØ£¿Á½¸ö×Ö£¬ÂªÏ°¡£
£¨1£©±ðÓÃnew Boolean()¡£
Ôںܶೡ¾°ÖÐBooleanÀàÐÍÊDZØÐëµÄ£¬±ÈÈçJDBCÖÐbooleanÀàÐ͵ÄsetÓëget¶¼ÊÇͨ¹ýBoolean·â×°´«µÝµÄ£¬´ó²¿·ÖORMÒ²ÊÇÓÃBooleanÀ´·â×°booleanÀàÐ͵쬱ÈÈ磺
ps.setBoolean("isClosed",new Boolean(true));
ps.setBoolean("isClosed",new Boolean(isClosed));
ps.setBoolean("isClosed",new Boolean(i==3));
ͨ³£ÕâЩϵͳÖй¹ÔìµÄBooleanʵÀýµÄ¸öÊýÊÇÏ൱¶àµÄ£¬ËùÒÔϵͳÖгäÂúÁË´óÁ¿BooleanʵÀýС¶ÔÏó£¬ÕâÊÇÏ൱ÏûºÄÄÚ´æµÄ¡£BooleanÀàʵ¼ÊÉÏÖ»ÒªÁ½¸öʵÀý¾Í¹»ÁË£¬Ò»¸ötrueµÄʵÀý£¬Ò»¸öfalseµÄʵÀý¡£
BooleanÀàÌṩÁ½Á˸ö¾²Ì¬±äÁ¿£º
public static final Boolean TRUE = new Boolean(true);
public static final Boolean FALSE = new Boolean(false);
ÐèÒªµÄʱºòֻҪȡÕâÁ½¸ö±äÁ¿¾Í¿ÉÒÔÁË£¬
±ÈÈ磺
ps.setBoolean("isClosed",Boolean.TRUE);
ÄÇôÏó2¡¢3¾äÄÇÑùÒª¸ù¾ÝÒ»¸öboolean±äÁ ......
ʲôÊÇÁ÷£º
Á÷ÊÇÒ»¸ö³éÏóµÄ¸ÅÄî¡£µ±Java³ÌÐòÐèÒª´ÓÊý¾ÝÔ´¶ÁÈ¡Êý¾Ýʱ£¬»á¿ªÆôÒ»¸öµ½Êý¾ÝÔ´µÄÁ÷¡£Êý¾ÝÔ´¿ÉÒÔÊÇÎļþ£¬ÄÚ´æ»òÕßÍøÂçµÈ¡£Í¬Ñù£¬µ±³ÌÐòÐèÒªÊä³öÊý¾Ýµ½Ä¿µÄµØÊ±Ò²Ò»Ñù»á¿ªÆôÒ»¸öÁ÷£¬Êý¾ÝÄ¿µÄµØÒ²¿ÉÒÔÊÇÎļþ¡¢ÄÚ´æ»òÕßÍøÂçµÈ¡£Á÷µÄ´´½¨ÊÇΪÁ˸ü·½±ãµØ´¦ÀíÊý¾ÝµÄÊäÈëÊä³ö¡£
Á÷·ÖΪ×Ö½ÚÁ÷ºÍ×Ö·ûÁ÷¡£×Ö½ÚÁ÷Ò²³ÆÎªÔʼÊý¾Ý£¬ÐèÒªÓû§¶ÁÈëºó½øÐÐÏàÓ¦µÄ±àÂëת»»¡£¶ø×Ö½ÚÁ÷µÄʵÏÖÊÇ»ùÓÚ×Ô¶¯×ª»»µÄ£¬¶ÁÈ¡Êý¾Ýʱ»á°ÑÊý¾Ý°´ÕÕJVMµÄĬÈϱàÂë×Ô¶¯×ª»»³É×Ö·û¡£
×Ö½ÚÁ÷ÓÉInputStreamºÍOutputStream´¦Àí£¬¶ø×Ö·ûÁ÷ÓÉReaderºÍWriter´¦Àí¡£ReaderºÍWriterÊÇJavaºó¼ÓÈëµÄ´¦ÀíÀ࣬³öÓÚÈÃÊý¾ÝµÄ´¦Àí¸ü·½±ãµÄÄ¿µÄ¡£
×Ö½ÚÁ÷´¦Àí¸ÅÊö£º
¶ÔÓÚ×Ö½ÚÁ÷´¦ÀíµÄÀà¶¼¼Ì³Ð×ÔInputStreamºÍOutputStreamÕâÁ½¸ö³éÏóÀà¡£
InputStreamÌṩµÄ×îÖØÒªµÄ·½·¨ÊÇ£º
Java´úÂë
read();
read(byte[] b) ;
read(byte[] b, int off, int len) ;
read();
read(byte[] b) ;
read(byte[] b, int off, int len) ;
ÓÃÓÚ´ÓÊäÈëÁ÷ÖжÁÈ¡×Ö½Ú¡£
OutputStreamÌṩµÄ×îÖØÒªµÄ·½·¨ÊÇ£º
Java´úÂë
write(int b); &nb ......
ºÜ¶àÅóÓÑÔÚJava¿ª·¢ÖУ¬Ê¹ÓÃOracleÊý¾Ý¿âµÄʱºò£¬¾³£»áÅöµ½ÓÐORA-01000: maximum open cursors exceeded.µÄ´íÎó¡£
ʵ¼ÊÉÏ£¬Õâ¸ö´íÎóµÄÔÒò£¬Ö÷Òª»¹ÊÇ´úÂëÎÊÌâÒýÆðµÄ¡£
ora-01000: maximum open cursors exceeded.
±íʾÒѾ´ïµ½Ò»¸ö½ø³Ì´ò¿ªµÄ×î´óÓαêÊý¡£
ÕâÑùµÄ´íÎóºÜÈÝÒ׳öÏÖÔÚJava´úÂëÖеÄÖ÷ÒªÔÒòÊÇ£ºJava´úÂëÔÚÖ´ÐÐconn.createStatement()ºÍ conn.prepareStatement()µÄʱºò£¬Êµ¼ÊÉ϶¼ÊÇÏ൱ÓëÔÚÊý¾Ý¿âÖдò¿ªÁËÒ»¸öcursor¡£ÓÈÆäÊÇ£¬Èç¹ûÄãµÄ createStatementºÍprepareStatementÊÇÔÚÒ»¸öÑ»·ÀïÃæµÄ»°£¬¾Í»á·Ç³£ÈÝÒ׳öÏÖÕâ¸öÎÊÌâ¡£ÒòΪÓαêÒ»Ö±ÔÚ²»Í£µÄ´ò¿ª£¬¶øÇÒûÓйرա£
Ò»°ãÀ´Ëµ£¬ÎÒÃÇÔÚдJava´úÂëµÄʱºò£¬createStatementºÍprepareStatement¶¼Ó¦¸ÃÒª·ÅÔÚÑ»·ÍâÃæ£¬¶øÇÒʹÓÃÁËÕâЩStatmentºó£¬¼°Ê±¹Ø±Õ¡£×îºÃÊÇÔÚÖ´ÐÐÁËÒ»´ÎexecuteQuery¡¢executeUpdateµÈÖ®ºó£¬Èç¹û²»ÐèҪʹÓýá¹û¼¯£¨ResultSet£©µÄÊý¾Ý£¬¾ÍÂíÉϽ«Statment¹Ø±Õ¡£
¶ÔÓÚ³öÏÖORA-01000´íÎóÕâÖÖÇé¿ö£¬µ¥´¿µÄ¼Ó´óopen_cursors²¢²»ÊǺð취£¬ÄÇÖ»ÊÇÖα겻Öα¾¡£Êµ¼ÊÉÏ£¬´úÂëÖеÄÒþ»¼²¢Ã»Óнâ³ý¡£
¶øÇÒ£¬¾ø´ó²¿·ÖÇé¿öÏ£¬open_cursorsÖ»ÐèÒªÉèÖÃÒ»¸ö±È½ÏСµÄÖµ£¬¾Í×㹻ʹÓÃÁË£¬³ý·ÇÓзdz£ÌرðµÄÒªÇó¡£ ......
ºÜ¶àÅóÓÑÔÚJava¿ª·¢ÖУ¬Ê¹ÓÃOracleÊý¾Ý¿âµÄʱºò£¬¾³£»áÅöµ½ÓÐORA-01000: maximum open cursors exceeded.µÄ´íÎó¡£
ʵ¼ÊÉÏ£¬Õâ¸ö´íÎóµÄÔÒò£¬Ö÷Òª»¹ÊÇ´úÂëÎÊÌâÒýÆðµÄ¡£
ora-01000: maximum open cursors exceeded.
±íʾÒѾ´ïµ½Ò»¸ö½ø³Ì´ò¿ªµÄ×î´óÓαêÊý¡£
ÕâÑùµÄ´íÎóºÜÈÝÒ׳öÏÖÔÚJava´úÂëÖеÄÖ÷ÒªÔÒòÊÇ£ºJava´úÂëÔÚÖ´ÐÐconn.createStatement()ºÍ conn.prepareStatement()µÄʱºò£¬Êµ¼ÊÉ϶¼ÊÇÏ൱ÓëÔÚÊý¾Ý¿âÖдò¿ªÁËÒ»¸öcursor¡£ÓÈÆäÊÇ£¬Èç¹ûÄãµÄ createStatementºÍprepareStatementÊÇÔÚÒ»¸öÑ»·ÀïÃæµÄ»°£¬¾Í»á·Ç³£ÈÝÒ׳öÏÖÕâ¸öÎÊÌâ¡£ÒòΪÓαêÒ»Ö±ÔÚ²»Í£µÄ´ò¿ª£¬¶øÇÒûÓйرա£
Ò»°ãÀ´Ëµ£¬ÎÒÃÇÔÚдJava´úÂëµÄʱºò£¬createStatementºÍprepareStatement¶¼Ó¦¸ÃÒª·ÅÔÚÑ»·ÍâÃæ£¬¶øÇÒʹÓÃÁËÕâЩStatmentºó£¬¼°Ê±¹Ø±Õ¡£×îºÃÊÇÔÚÖ´ÐÐÁËÒ»´ÎexecuteQuery¡¢executeUpdateµÈÖ®ºó£¬Èç¹û²»ÐèҪʹÓýá¹û¼¯£¨ResultSet£©µÄÊý¾Ý£¬¾ÍÂíÉϽ«Statment¹Ø±Õ¡£
¶ÔÓÚ³öÏÖORA-01000´íÎóÕâÖÖÇé¿ö£¬µ¥´¿µÄ¼Ó´óopen_cursors²¢²»ÊǺð취£¬ÄÇÖ»ÊÇÖα겻Öα¾¡£Êµ¼ÊÉÏ£¬´úÂëÖеÄÒþ»¼²¢Ã»Óнâ³ý¡£
¶øÇÒ£¬¾ø´ó²¿·ÖÇé¿öÏ£¬open_cursorsÖ»ÐèÒªÉèÖÃÒ»¸ö±È½ÏСµÄÖµ£¬¾Í×㹻ʹÓÃÁË£¬³ý·ÇÓзdz£ÌرðµÄÒªÇó¡£ ......