ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>日韩久久一区二区,日韩精品一区二区三区中文不卡,色先锋资源久久综合5566http://www.aygfsteel.com/aben/zh-cnSat, 28 Jun 2025 18:18:29 GMTSat, 28 Jun 2025 18:18:29 GMT60java--¾|‘络¾~–程åQˆä¸€åQ?/title><link>http://www.aygfsteel.com/aben/archive/2011/01/13/342922.html</link><dc:creator>莴笋炒肉</dc:creator><author>莴笋炒肉</author><pubDate>Thu, 13 Jan 2011 06:13:00 GMT</pubDate><guid>http://www.aygfsteel.com/aben/archive/2011/01/13/342922.html</guid><wfw:comment>http://www.aygfsteel.com/aben/comments/342922.html</wfw:comment><comments>http://www.aygfsteel.com/aben/archive/2011/01/13/342922.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/aben/comments/commentRss/342922.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/aben/services/trackbacks/342922.html</trackback:ping><description><![CDATA[<p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">一般涉及到¾|‘络的应用,都会提到两个‘ç«?#8217;åQŒä¸€ä¸ªæä¾›æœåŠ¡å«æœåŠ¡ç«¯ï¼›ä¸€ä¸ªç”³è¯ähœåŠ¡å«å®¢æˆ·ç«¯ã€‚ä¸€å°æœåŠ¡å™¨ç”µè„‘å¯ä»¥é€šè¿‡æœåŠ¡½E‹åºå‘外提供多个服务åQˆå¦‚http/ftp)。作ä¸ÞZ¸€å°å¤–¾|‘服务器åQŒä¹Ÿž®±æ˜¯ä¸€ä¸ªæœåŠ¡ç«¯åQŒå®ƒå¿…须有一个固定的IP,我们ž®±æ˜¯é€šè¿‡˜q™ä¸ªIP讉K—®åˆ°è¿™å°ç”µè„‘,要想讉K—®ä¸€ä¸ªç‰¹å®šçš„æœåŠ¡åQŒå°±å¾—指定端口号åQŒè¿™æ˜¯åŒºåˆ†ä¸åŒæœåŠ¡çš„å…³é”®åQ?-1024为系¾lŸè‡ªç•™ç«¯å£ã€?/p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">ServerSocket:侦听所有的客户端向服务端发送的建立套接字请求,然后˜q”回套接字对象SocketåQŒå®¢æˆïL«¯å’ŒæœåŠ¡ç«¯çš„è¿žæŽ¥å¾ç«‹ã€?/p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">构徏一个ServerSocket对象åQŒéœ€è¦æŒ‡å®šä¸€ä¸ªç«¯å£å·åQŒä¾¦å¬åˆ°˜qžæŽ¥è¯äh±‚åQŒèŽ·å¾—ä¸€ä¸ªSocket对象åQŒå¾ç«‹Socket---Socket的连æŽ?/p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; "><br /> </p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">import java.io.*;</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">import java.net.*;</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">public class JabberServer{</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">  public static fianl int port=8080;</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">  public static void main(String[] args){</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">    ServerSocket ss=new ServerSocket(port);</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">    System.out.println(ss);</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">    try{</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">      Socket s=ss.accept();</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">      System.out.println(s);</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">      try{</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">        BufferedReader br=new BufferedReader(</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">                    new InputStreamReader(</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">                      s.getInputStream()</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">                    )</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">                  );</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">        <span _mce_style="color: #ff0000;" style="color: #ff0000; ">//建立˜qžæŽ¥åŽï¼Œå‘服务器写入输出内容åQŒåªæœ‰å½“输入内容¾~“存每次被刷斎ͼŒæ‰èƒ½é€šè¿‡¾|‘络发送下一æ‰Ò޶ˆæ?/span></p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">        PrintWriter pw=new PrintWriter(</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">                  new BufferedWriter(</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">                    new OutputStreamWriter(</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">                      s.getOutputStream();</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">                    )</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">                  )</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">                ,true);</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">        String str=new String();</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">        int i=0;</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">        while(true){</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">          str=br.readLine();</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">          System.out.println(str);</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">          pw.println(++i+"content from server");</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">          if(str.equals("END")</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">            break;</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">        }</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">      }finally{</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">        System.out.println("Socket close");</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">        s.close();</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">      }</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">    }finally{</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">      System.out.println("ServerSocket close");</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">      ss.close();</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">    }</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">  }</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">}</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; "><br /> </p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; "><br /> </p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">import java.io.*;</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">import java.net.*;</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; "><br /> </p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">public class JabberClient{</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; "><br /> </p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">  public static void main(String[] args) thrwos Exception{</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">    InetAddress add=InetAddress.getByName(null);</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">    //InetAddress add=InetAddress.getByName("localhost");</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">    //InetAddress add=InetAddress.getByName("127.0.0.1");</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">    System.out.println(add);</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">    Socket s=new Socket(add,JabberServer.port);</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">    System.out.println(s);</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">    try{</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">      <span _mce_style="color: #ff0000;" style="color: #ff0000; ">//建立˜qžæŽ¥åŽï¼Œå‘服务器写入输出内容åQŒåªæœ‰å½“输入内容¾~“存每次被刷斎ͼŒæ‰èƒ½é€šè¿‡¾|‘络发送下一æ‰Ò޶ˆæ?/span></p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">      PrintWriter pw=new PrintWriter(</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">                new BufferedWriter(</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">                  new OutputStreamWriter(</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">                    s.getOutputStream()</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">                  )</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">                )</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">              ,true);</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">      <span _mce_style="color: #ff0000;" style="color: #ff0000; ">//获得服务器返回的消息</span></p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; "><br /> </p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">      BufferedReader br=new BufferedReader(</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">                  new InputStreamReader(</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">                    s.getInputStream()</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">                  )</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">                );</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; "><br /> </p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">      String str=new String();</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">      for(int i=0;i<10;i++){</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">        pw.println(i+"content from client");</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">        str=br.readLine();</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">        System.out.println(str);</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">      }</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">      <span _mce_style="color: #ff0000;" style="color: #ff0000; ">//告诉服务端,客户端内容写入完æ¯?/span></p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">      pw.println("END");</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">    }finally{</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">      System.out.println("Socket close");</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">      s.close();</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">    }</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">  }</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">}</p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; "><br /> </p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; "><span _mce_style="color: #ff0000;" style="color: #ff0000; ">/**--注意--**/</span></p> <p _mce_style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;" style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; "><span _mce_style="color: #ff0000;" style="color: #ff0000; ">以上代码都是在文本编辑器中写的,可能会有些许¾U°æ¼</span></p> <img src ="http://www.aygfsteel.com/aben/aggbug/342922.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/aben/" target="_blank">莴笋炒肉</a> 2011-01-13 14:13 <a href="http://www.aygfsteel.com/aben/archive/2011/01/13/342922.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java--多线½E‹å®žçŽ°è®¡æ•°å™¨http://www.aygfsteel.com/aben/archive/2011/01/06/342439.html莴笋炒肉莴笋炒肉Thu, 06 Jan 2011 09:07:00 GMThttp://www.aygfsteel.com/aben/archive/2011/01/06/342439.htmlhttp://www.aygfsteel.com/aben/comments/342439.htmlhttp://www.aygfsteel.com/aben/archive/2011/01/06/342439.html#Feedback0http://www.aygfsteel.com/aben/comments/commentRss/342439.htmlhttp://www.aygfsteel.com/aben/services/trackbacks/342439.html同时开å§?个线½E‹ï¼Œç”¨å„自的文本框显½Cºcount,和按钮控制count的自åŠ?/p>


import java.awt.*;

import java.awt.event.*;

import java.applet.*;


class Ticker extends Thread{

  private Button t=new Button("toggle");

  private TextField tf=new TextField(10);

  //å¼€å…ÏxŽ§åˆ¶count的变åŒ?/span>

  private runFlag=true;

  private int count=0;


  class Stop implements ActionListener{

    @Override

    public void actionPerformed(ActionEvent e){

      runFlag=!runFlag;

    }

  }

  public Ticker(Container c){

    t.addActionListener(new Stop());

    //Panel容器

    Panel p=new Panel();

    p.add(t);

    p.add(tf);

    c.add(p); 

  }


  @Override

  public void run(){

    while(true){

      try(

        Thread.currentThread().sleep(200);

      }catch(InterruptedException e){

        e.printStackTrace();

      }

      if(runFlag)

        tf.setText(Integer.toString(++count));

    }

  }

}


public class Counter extends Applet{


  private Button start=new Button("Start");

  private boolean started=false;

  private int size=0;

  private Ticker[] ts;

  @Override

  public void init(){

    start.addActionListener(new Start());

    add(start);

    ts=new Ticker[size];

    for(int i=0;i<size;i++){

      ts[i]=new Ticker(Counter.this);

    }

  }


  class Start implements ActionListener{

    @Override

    public void actionPerformed(ActionEvent e){

      if(!started){

        started=true;

        for(int i=0;i<size;i++){

          ts[i].start();

        }

      }

    }

  }


  public static void main(String[] args){

    Counter c=new Counter();

    Frame frame=new Frame("½E‹åºç‰?);

    frame.addWindowListener(

      new WindowAdapter(){

        @Override

        public void windowClosing(WindowEvent e){

          System.exit(0);

        }

      }

    );

    frame.setSize(300,c.size*50);

    frame.add(c,BorderLayout.CENTER);

    c.init();

    c.start();

    frame.setVisible(true);

  }

}

/**--注意--**/

以上代码都是在文本编辑器中写的,可能会有些许¾U°æ¼

 



]]>
java--˜qè¡Œ½E‹åºç‰‡ï¼ˆå¤šçº¿½E‹å­¦ä¹ ï¼‰http://www.aygfsteel.com/aben/archive/2011/01/06/342422.html莴笋炒肉莴笋炒肉Thu, 06 Jan 2011 06:28:00 GMThttp://www.aygfsteel.com/aben/archive/2011/01/06/342422.htmlhttp://www.aygfsteel.com/aben/comments/342422.htmlhttp://www.aygfsteel.com/aben/archive/2011/01/06/342422.html#Feedback0http://www.aygfsteel.com/aben/comments/commentRss/342422.htmlhttp://www.aygfsteel.com/aben/services/trackbacks/342422.html˜qè¡Œ½E‹åºç‰‡ï¼Œé€šè¿‡äººæœºäº¤äº’的过½E‹ï¼Œç†Ÿæ‚‰ä¸€äº›åŸºæœ¬çš„事äšg机制

import java.awt.*;

import java.awt.event.*;

import java.applet.*;


class StaticTest{

  //静态全局变量

  static int count=0;

  public StaticTest(){

    ++count;

    System.out.println("count:"+count);

  }

}


public class Test extends Applet{

  private Button btn=new Button("创徏");

  private TextField tf=new TextField(10);


  //匿名内部¾c…R€€ã€€

  class Create implements ActionListener{

    public void actionPerformed(ActionEvent e){

      //每次实例化对象时åQŒcountçš„å€ég¼šä¸€ç›´ç¯åŠ ï¼Œè€Œä¸æ˜¯é‡æ–îC»Ž0å¼€å§?/span>

      StaticTest st=new StaticTest();

    }  

  }


  @Override

  public void init(){

    add(btn);

    //æ·ÕdŠ ç‚¹å‡»äº‹äšg

    btn.addActionListener(new Create());

    add(tf);

  }


  public static void main(String[] args){

    Test t=new Test();

    Frame frame=new Frame();

    //¾l™çª—口添加关闭事ä»?/span>

    frame.addWindowListener(

      new ActionAdapter(){

        public void windowClosing(WindowEvent e){

          System.exit(0);

        }

      }

    );

    frame.add(t,BoderLayout.CENTER);

    frame.setSize(300,200);

    //初始化窗口内控äšg

    t.init();

    t.start();

    //昄¡¤º½E‹åºç‰‡çª—å?/span>

    frame.setVisible(true);

  }

}


//多线½E?/p>

import java.awt.*;

import java.awt.event.*;

import java.applet.*;


public class Test extends Applet{

  private Button start=new Button("开�#8220;),

          stop=new Button("停止");

  private TextField tf=new TextField(10);

  private runFlag=true;

  private static int count=0;

  private ThreadTest tt=null;

  //ž®†ThreadTestä½œäØ“ä¸€ä¸ªåŒ¿åå†…éƒ¨ç±»

  private ThreadTest extends Thread{

    //在构造ThreadTest½CÞZ¾‹å¯¹è±¡çš„æ—¶å€™ï¼Œå¯åЍ¾U¿ç¨‹

    public ThreadTest(){

      start();

    }

    @Override

    public void run(){

      while(true){

        try{

          Thread.currentThread().sleep(200);

        }catch(InterruptedException e){

          e.printStackTrace();

        }

        if(runFlag){

          tf.setText(Integer.toString(++count));

        }

      }

    }

  }


  class Start implements ActionListener{

    @Override

    public void actionPerformed(ActionEvent e){

      if(tt==null)

        tt=new ThreadTest();

    }

  }


  class Stop implements ActionListener{

     @Override

     public void actionPerformed(ActionEvent e){

        if(tt!=null)

          runFlag=!runFlag;

     }

  }


  @Override

  public void init(){

    add(stop);

    stop.addActionListener(new Stop());

    add(start);

    start.addActionListener(new Start());

    add(tf);

  }


  public static void main(String[] args){

    Frame frame=new Frame("½E‹åºç‰?);

    Test t=new Test();

    frame.addWindowListener(

      new WindowAdapter(){

        @Override

        public void windowClosing(WindwoEvent e){

          System.exit(0);

        }

      }

    );

    frame.add(t,BorderLayout.CENTER);

    frame.setSize(300,200);

    t.init();

    t.start();

    frame.setVisible(true);

  }

}


//在主¾cÖM¸­åˆåƈ¾U¿ç¨‹

要将¾U¿ç¨‹ä¸Žä¸»¾cÕdˆòqÓž¼Œå¿…须实现Runnable接口åQŒé‡å†™run()æ–ÒŽ³•åQŒä½†˜q™ä¸Žä»ŽThread¾l§æ‰¿çš„ç±»˜q˜æ˜¯æœ‰å¾ˆå¤§çš„差别。若要开启一个新的线½E‹ï¼Œåªéœ€ž®†ä¸»¾cÖM½œä¸ÞZ¸€ä¸ªå‚æ•îC¼ å…¥å³å¯ï¼ˆ¾cÕdž‹ä¸Šæº¯åQˆRunnableåQ‰ï¼‰

import java.awt.*;

import java.awt.event.*;

import java.applet.*;


//实现Runnable接口

public class Test extends Applet implements Runnable{


  private Button start=new Button("Start"),

          stop=new Button("Stop");

  private TextField tf=new TextField(10);

  private Thread th=null;

  private boolean runFlag=true;

  private static int count=0;


  //重写runæ–ÒŽ³•

  @Override

  public void run(){

    while(true){

      try{

        th.sleep(200);

      }catch(InterruptedException e){

        e.printStackTrace();

      }

      if(runFlag)

        tf.setText(Integer.toString(++count));

    }

  }


  class Start implements ActionListener{

    @Override

    public void actionPerformed(ActionEvent e){

      if(th==null){

        //传入当前上下文对象,即上溯类型Runnable(å› äØ“å®žçŽ°äº†æ­¤æŽ¥å£)

        th=new Thread(Test.this);

        th.start();

      }

    }

  }


  class Stop implements ActionListener{

    @Override

    public void actionPerformed(ActionEvent e){

      runFlag=!runFlag;

    }

  }


  @Override

  public void init(){

    add(start);

    start.addActionListener(new Start());

    add(stop);

    stop.addActionListener(new Stop());

    add(tf);

  }


  public static void main(String[] args){

    Frame frame=new Frame("½E‹åºç‰?);

    Test t=new Test();

    frame.add(t,BorderLayout.CENTER);

    frame.addWindowListener(

       new WindowAdapter(){

         @Override

          public void windowClosing(WindwoEvent e){

            System.exit(0);

          }

        }

    );

    frame.setSize(300,200);

    t.init();

    t.start();

    frame.setVisible(true);

  }

}


//基础知识åQšåœ¨åŒ¿åå†…部¾cÖM¸­ä¸èƒ½å£°æ˜Žé™æ€å˜é‡?/span>



/**--注意--**/

以上代码都是在文本编辑器中写的,可能会有些许¾U°æ¼



]]>
java--FilenameFilteræ–‡äšg˜q‡æ×oå™?/title><link>http://www.aygfsteel.com/aben/archive/2011/01/05/342351.html</link><dc:creator>莴笋炒肉</dc:creator><author>莴笋炒肉</author><pubDate>Wed, 05 Jan 2011 06:01:00 GMT</pubDate><guid>http://www.aygfsteel.com/aben/archive/2011/01/05/342351.html</guid><wfw:comment>http://www.aygfsteel.com/aben/comments/342351.html</wfw:comment><comments>http://www.aygfsteel.com/aben/archive/2011/01/05/342351.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.aygfsteel.com/aben/comments/commentRss/342351.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/aben/services/trackbacks/342351.html</trackback:ping><description><![CDATA[<div style="color: #000000; font-family: verdana, 'courier new'; font-size: 14px; margin-top: 8px; margin-right: 8px; margin-bottom: 8px; margin-left: 8px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #ffffff; line-height: 1.5; background-position: initial initial; background-repeat: initial initial; "> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">java中有一个FilenameFilter的接口,能够˜q‡æ×o得到指定¾cÕdž‹çš„æ–‡ä»¶æˆ–者目录,其中必须重写acceptåQˆFile file,String pathåQ‰æ–¹æ³?/p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">public class DirFilter implements FilenameFilter{</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">  private String type;</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">  public DirFilter(String tp){</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">    this.type=tp;</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">  }</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "><br /> </p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">  public boolean accept(File fl,String path) throws Exception{</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">     File file=new File(path);</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">     String filename=file.getName();</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">     return filename.indexOf(type)!=-1;</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">  }</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">}</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "><br /> </p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">具体应用æ–ÒŽ³•åQšFile假如是一个DirectoryåQŒå¯ä»¥é€šè¿‡list()æ–ÒŽ³•得到˜q™ä¸ªç›®å½•下所有的文äšg和目录的名称数组åQŒlist()æ–ÒŽ³•åQŒä¸€¿Uæ˜¯æ²¡æœ‰å‚æ•°åQŒä¸€¿Uæ˜¯å®žçްFilenameFilter接口的参敎ͼŒä¾‹å¦‚要获得一个指定目录下的所有的javaæ–‡äšgåQŒå°±è¦ä‹É用第二种带参数的list()æ–ÒŽ³•</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "><br /> </p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">public class Test{</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">  public static void main(String[] args){</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">    try{</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">      //指定目录(“.”表示当前目录)</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">      File dir=new File(".");</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">      String[] names;</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">      //获得所有javaæ–‡äšg</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">      DirFilter filter=new DirFilter(".java");</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">      names=dir.list(filter);</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">      //打印所有javaæ–‡äšg名称</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">      for(int i=0;i<names.length;i++){</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">        System.out.println("i:"+i+" name:"+names[i]);</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">      }</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">    }catch(Exception e){</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">      e.printStackTrace();</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">    }</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">  }</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">}</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "><br /> </p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">其中˜q™é‡Œ˜q˜å¯ä»¥å°†DirFilter¾cÖM½œä¸ºTest的一个匿名内部类来实玎ͼŒä¾‹å¦‚åQ?/p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">public class Test{</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">  //typeåQšå¿…™åÕd£°æ˜ŽäØ“final¾cÕdž‹åQŒä½œä¸ÞZ¸€ä¸ªåŒ¿åå†…部类åQŒè®¿é—®çš„变量都必™åÕd£°æ˜ŽäØ“final¾cÕdž‹</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">  public static FilenameFilter filter(final String type) throws Exception{</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">    return new FilenameFilter(){</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">      public boolean accept(File file,Stirng path){</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">        String filename=new File(path).getName();</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">        return filename.indexOf(type)!=-1;</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">        } </p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">      };   </p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">  }</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "><br /> </p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">  public static void main(String[] args){</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">    try{    </p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">      File file=new File(".");</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">      String names[];</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">      names=file.list(filter(".java");</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">      for(int i=0;i<names.length;i++){</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">        System.out.println("i:"+i+" filename:"+names[i]);</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">      }</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">    catch(Exception e){</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">      e.printStackTrace();</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">    }</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "><br /> </p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">  }  </p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">}</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "><br /> </p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">//基础知识1åQšåœ¨ä¸€ä¸ªjavaæ–‡äšg中,有且只能有一个公å…Þq±»åQŒå³¾cȝš„修饰½W¦äØ“public</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">//基础知识2åQšæŽ¥å£ä¸­æ‰€å®šä¹‰çš„ä“Qä½•å¯¹è±¡é»˜è®¤ä½œç”¨åŸŸéƒ½äØ“public</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">//基础知识3åQšExceptionçš„å‘½åç©ºé—´äØ“java.lang.Exception</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "><br /> </p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">/**--注意--**/</p> <p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">以上代码都是在文本编辑器中写的,可能会有些许¾U°æ¼</p> </div> <img src ="http://www.aygfsteel.com/aben/aggbug/342351.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/aben/" target="_blank">莴笋炒肉</a> 2011-01-05 14:01 <a href="http://www.aygfsteel.com/aben/archive/2011/01/05/342351.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java--䏸™‡ªå·Þqš„¾cÕd¯¹è±¡æ·»åŠ cloneåQˆå…‹éš†ï¼‰èƒ½åŠ›http://www.aygfsteel.com/aben/archive/2011/01/05/342346.html莴笋炒肉莴笋炒肉Wed, 05 Jan 2011 05:44:00 GMThttp://www.aygfsteel.com/aben/archive/2011/01/05/342346.htmlhttp://www.aygfsteel.com/aben/comments/342346.htmlhttp://www.aygfsteel.com/aben/archive/2011/01/05/342346.html#Feedback0http://www.aygfsteel.com/aben/comments/commentRss/342346.htmlhttp://www.aygfsteel.com/aben/services/trackbacks/342346.html

其实所有的javaå¯¹è±¡éƒ½å¯ä»¥å…·å¤‡å…‹éš†èƒ½åŠ›ï¼Œåªæ˜¯å› äØ“åœ¨åŸº¼‹€¾c»Objectä¸­è¢«è®‘Ö®šæˆäº†ä¸€ä¸ªä¿ç•™æ–¹æ³•ï¼ˆprotected),要想真正拥有克隆的能力,ž®±éœ€è¦å®žçްCloneable接口åQŒé‡å†™cloneæ–ÒŽ³•。通过克隆æ–ÒŽ³•得到的对象得到的是一个本地的副本ã€?/p>

代码½CÞZ¾‹åQ?/p>

class User implements Cloneable{

  int age;

  public User(int age){

    //用this关键字不至于¾cÀLˆå‘˜å˜é‡ä¸Žå½¢å‚æ·äh·†

    this.age=age;

  }


  //˜q™é‡Œå¯åŠ @Override也可不加åQŒåŠ äº†ä¼šè‡ªåŠ¨æç¤ºæ˜¯å¦æ­£ç¡®

  @Override

  public Object clone{

    Object o=null;

    try{

      o=super.clone();

    }catch(CloneNotSupportedException e){

      e.printStackTrace();

    }

  }

  public String toString(){

    return Integer.toString(this.age);

  }

}


public class Test{

  //(1)main中只能调用静态方法(2åQ‰ä¿®æ”¹çš„æ˜¯ä¼ å…¥çš„User对象

  static User g(User u){

    u.age++;

    return u;

  }


  //在本åœîCñ”生了一个User对象副本

  static User f(User u){

    u=(User)u.clone();

    u.age++;

    return u;

  }


  public static void main(String[] args){

    User u=new User(23);

    User u2=g(u);

    if(u==u2)

      System.out.println("u==u2");

    else

      System.out.println("u!=u2");

    //下面会自动调用User对象的toString()æ–ÒŽ³•

    System.out.println("u.age:"+u);

    System.out.println("u2.age:"+u2);


    User u3=new User(23);

    User u4=f(u3);

    if(u3==u4)

      System.out.println("u3==u4");

    else

      System.out.println("u3!=u4");

    System.out.println("u3.age:"+u3);

    System.out.println("u4.age:"+u4);

  }

}


//基本知识åQšè¦æƒŒ™®©å¯¹è±¡å…ähœ‰cloneæ–ÒŽ³•åQŒåªè¦å®žçްCloneable接口åQŒé‡å†™cloneæ–ÒŽ³•卛_¯åQŒä½†æ˜¯æœ‰ä¸¤ä¸ªéœ€è¦æ³¨æ„çš„点:åQ?åQ‰è°ƒç”¨super.clone()æ–ÒŽ³•åQ?åQ‰å®šä¹‰äØ“public公共æ–ÒŽ³•


/**--注意--**/

以上代码都是在文本编辑器中写的,可能会有些许¾U°æ¼



]]>
Ö÷Õ¾Ö©Öë³ØÄ£°å£º ͬµÂÏØ| Í­ÁºÏØ| ¾¸°²ÏØ| ÄϳÇÏØ| ÆÑ³ÇÏØ| ¾®¸ÔɽÊÐ| Î÷¼ªÏØ| ºþÖÝÊÐ| ²ýÍ¼ÏØ| ÎÞÎªÏØ| ͼÃÇÊÐ| ÙñÖÝÊÐ| Êæ³ÇÏØ| ¶«¹âÏØ| ÃçÀõÊÐ| ËÉÅËÏØ| ÓÀÄþÏØ| Óå±±Çø| ËÕÖÝÊÐ| ·áÔ­ÊÐ| ½¹×÷ÊÐ| ÕòÄþ| ãëÉÏÏØ| ÐÂÎÅ| Á¬½­ÏØ| ÁºÆ½ÏØ| º£ÃÅÊÐ| ÖÎÏØ¡£| Ïã¸ñÀïÀ­ÏØ| ½Ò¶«ÏØ| ºÍÌïÏØ| ÁÖÎ÷ÏØ| ¯»ôÏØ| Ä«ÍÑÏØ| ÎÚÀ¼ÏØ| ÑÓ´¨ÏØ| ¸ßÌ¨ÏØ| ´ó¹ØÏØ| ÑôÎ÷ÏØ| ÐÝÄþÏØ| ƽ¶¨ÏØ|