??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美一级在线视频,日韩一区二区中文字幕,日韩大片b站免费观看直播http://www.aygfsteel.com/needjava/You Need Java, Like World Need Sun.zh-cnSat, 17 May 2025 02:24:09 GMTSat, 17 May 2025 02:24:09 GMT60〔Java〕〔Swing〕关闭前提醒http://www.aygfsteel.com/needjava/archive/2007/09/17/146007.htmlNeedJavaNeedJavaMon, 17 Sep 2007 14:56:00 GMThttp://www.aygfsteel.com/needjava/archive/2007/09/17/146007.htmlhttp://www.aygfsteel.com/needjava/comments/146007.htmlhttp://www.aygfsteel.com/needjava/archive/2007/09/17/146007.html#Feedback1http://www.aygfsteel.com/needjava/comments/commentRss/146007.htmlhttp://www.aygfsteel.com/needjava/services/trackbacks/146007.html import java.awt.Toolkit;
import java.awt.Dimension;

import java.awt.event.WindowEvent;
import java.awt.event.WindowAdapter;

import javax.swing.JFrame;
import javax.swing.JOptionPane;


/*******************************************************************************
 *
 * 关闭前提?br /> *
 * Author: NeedJava
 *
 * Modofied: 2005.04.02
 *
 ******************************************************************************/
class AlarmBeforeClosed extends JFrame
{
  public AlarmBeforeClosed( String title )
  {
    //讄E序标题?br />    this.setTitle( title );

    //不给最大化
    this.setResizable( false );

    //讄E序界面大小
    this.setSize( new Dimension( 500, 400 ) );

    //程序居中放|(Ҏ1Q?br />    Dimension paneSize=this.getSize();
    Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
    this.setLocation( ( screenSize.width-paneSize.width )/2, ( screenSize.height-paneSize.height )/2 );

    //程序居中放|(Ҏ2Q?br />    //this.setLocationRelativeTo( null );

    //讄E序关闭的类型,防止关闭
    this.setDefaultCloseOperation( JFrame.DO_NOTHING_ON_CLOSE );

    //讄关闭E序
    this.addWindowListener( new WindowAdapter()
    {
      public void windowClosing( WindowEvent e )
      {
        closeApplication();
      }
    } );
  }


  /*****************************************************************************
   *
   * 关闭E序
   *
   ****************************************************************************/
  private void closeApplication()
  {
    Toolkit.getDefaultToolkit().beep();

    int answer=JOptionPane.showConfirmDialog( AlarmBeforeClosed.this,
                                              "您真的要退出此pȝQ?,
                                              "退出程?,
                                              JOptionPane.YES_NO_OPTION,
                                              JOptionPane.QUESTION_MESSAGE,
                                              null );

    if( answer==JOptionPane.YES_OPTION )  //选择“是?br />      {
        System.exit( 0 );
      }
    else if( answer==JOptionPane.NO_OPTION )  //选择“否?br />           {
             return;
           }
  }


  /*****************************************************************************
   *
   * 入口ȝ?br />   *
   ****************************************************************************/
  public static void main( String[] args )
  {
    new AlarmBeforeClosed( "关闭前提? ).setVisible( true );
  }
}



NeedJava 2007-09-17 22:56 发表评论
]]>
〔Java〕乘除法和等效的位运?/title><link>http://www.aygfsteel.com/needjava/archive/2007/09/17/145706.html</link><dc:creator>NeedJava</dc:creator><author>NeedJava</author><pubDate>Mon, 17 Sep 2007 01:17:00 GMT</pubDate><guid>http://www.aygfsteel.com/needjava/archive/2007/09/17/145706.html</guid><wfw:comment>http://www.aygfsteel.com/needjava/comments/145706.html</wfw:comment><comments>http://www.aygfsteel.com/needjava/archive/2007/09/17/145706.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.aygfsteel.com/needjava/comments/commentRss/145706.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/needjava/services/trackbacks/145706.html</trackback:ping><description><![CDATA[ <p> <font face="Courier New" color="#808080" size="2">/*******************************************************************************<br /> *<br /> * 乘除法和{效的位q算<br /> *<br /> * 1024 = 2*2*2*2*2*2*2*2*2*2 = 100 0000 0000<br /> *<br /> ******************************************************************************/<br />class BitOperation<br />{<br />  public static void main( String[] args )<br />  {<br />    //被除?br />    long dividend=182495073L;</font> </p> <p> <font face="Courier New" color="#808080" size="2">    long temp=0L;</font> </p> <p> <font face="Courier New" color="#808080" size="2">    long begin=0L;</font> </p> <p> <br /> <font face="Courier New" color="#808080" size="2">    ////////////////////////////////////////////////////////////////////////////<br />    //<br />    // dividend/1024{效于dividend>>10<br />    //<br />    ////////////////////////////////////////////////////////////////////////////<br />    begin=System.currentTimeMillis();</font> </p> <p> <font face="Courier New" color="#808080" size="2">    for( int i=0; i<10000000; i++ )<br />       {<br />         temp=dividend/1024;<br />       }</font> </p> <p> <font face="Courier New" color="#808080" size="2">    System.out.println( temp+" d耗时Q?+( System.currentTimeMillis()-begin )+"毫秒" );</font> </p> <p> <font face="Courier New" color="#808080" size="2">    begin=System.currentTimeMillis();</font> </p> <p> <font face="Courier New" color="#808080" size="2">    for( int i=0; i<10000000; i++ )<br />       {<br />         temp=dividend>>10;<br />       }</font> </p> <p> <font face="Courier New" color="#808080" size="2">    System.out.println( temp+" d耗时Q?+( System.currentTimeMillis()-begin )+"毫秒\r\n" );</font> </p> <p> <br /> <font face="Courier New" color="#808080" size="2">    ////////////////////////////////////////////////////////////////////////////<br />    //<br />    // dividend*1024{效于dividend<<10<br />    //<br />    ////////////////////////////////////////////////////////////////////////////<br />    begin=System.currentTimeMillis();</font> </p> <p> <font face="Courier New" color="#808080" size="2">    for( int i=0; i<10000000; i++ )<br />       {<br />         temp=dividend*1024;<br />       }</font> </p> <p> <font face="Courier New" color="#808080" size="2">    System.out.println( temp+" d耗时Q?+( System.currentTimeMillis()-begin )+"毫秒" );</font> </p> <p> <font face="Courier New" color="#808080" size="2">    begin=System.currentTimeMillis();</font> </p> <p> <font face="Courier New" color="#808080" size="2">    for( int i=0; i<10000000; i++ )<br />       {<br />         temp=dividend<<10;<br />       }</font> </p> <p> <font face="Courier New" color="#808080" size="2">    System.out.println( temp+" d耗时Q?+( System.currentTimeMillis()-begin )+"毫秒\r\n" );</font> </p> <p> <br /> <font face="Courier New" color="#808080" size="2">    ////////////////////////////////////////////////////////////////////////////<br />    //<br />    // dividend%1024{效于dividend-( dividend>>10<<10 )<br />    //<br />    ////////////////////////////////////////////////////////////////////////////<br />    begin=System.currentTimeMillis();</font> </p> <p> <font face="Courier New" color="#808080" size="2">    for( int i=0; i<10000000; i++ )<br />       {<br />         temp=dividend%1024;<br />       }</font> </p> <p> <font face="Courier New" color="#808080" size="2">    System.out.println( temp+" d耗时Q?+( System.currentTimeMillis()-begin )+"毫秒" );</font> </p> <p> <font face="Courier New" color="#808080" size="2">    begin=System.currentTimeMillis();</font> </p> <p> <font face="Courier New" color="#808080" size="2">    for( int i=0; i<10000000; i++ )<br />       {<br />         temp=dividend-( dividend>>10<<10 );<br />       }</font> </p> <p> <font face="Courier New" color="#808080" size="2">    System.out.println( temp+" d耗时Q?+( System.currentTimeMillis()-begin )+"毫秒\r\n" );<br />  }<br />}</font> </p> <img src ="http://www.aygfsteel.com/needjava/aggbug/145706.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/needjava/" target="_blank">NeedJava</a> 2007-09-17 09:17 <a href="http://www.aygfsteel.com/needjava/archive/2007/09/17/145706.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>〔Other〕请帮我加个标题http://www.aygfsteel.com/needjava/archive/2007/09/17/145666.htmlNeedJavaNeedJavaSun, 16 Sep 2007 18:10:00 GMThttp://www.aygfsteel.com/needjava/archive/2007/09/17/145666.htmlhttp://www.aygfsteel.com/needjava/comments/145666.htmlhttp://www.aygfsteel.com/needjava/archive/2007/09/17/145666.html#Feedback0http://www.aygfsteel.com/needjava/comments/commentRss/145666.htmlhttp://www.aygfsteel.com/needjava/services/trackbacks/145666.html
比如某篇随笔的标题是“增加功能”,属于“Java”和“Windows”分c,那么保存后显C的标题是“〔Java〕〔Windows〕增加功能?br />
应该很好处理的,q可以设|括L样式{等

NeedJava 2007-09-17 02:10 发表评论
]]>
〔Java〕用Integer.toString( 1000 )好于1000+""http://www.aygfsteel.com/needjava/archive/2007/09/17/145665.htmlNeedJavaNeedJavaSun, 16 Sep 2007 17:23:00 GMThttp://www.aygfsteel.com/needjava/archive/2007/09/17/145665.htmlhttp://www.aygfsteel.com/needjava/comments/145665.htmlhttp://www.aygfsteel.com/needjava/archive/2007/09/17/145665.html#Feedback8http://www.aygfsteel.com/needjava/comments/commentRss/145665.htmlhttp://www.aygfsteel.com/needjava/services/trackbacks/145665.html 我原来把数字变成字符Ԍ使用""+1000Q但是经q测试,发现Q,Q呵呵,你自己测试吧Q?br />
public final class WhoFaster2
{
  public static void main( String[] args )
  {
    long times=1000000L;  //百万

    long start=0L;

    String temp=null;

    /*/
    start=System.currentTimeMillis();

    temp=null;

    for( int i=0; i<times; i++ )
       {
         temp=times+"";
       }

    System.out.println( temp+" "+( System.currentTimeMillis()-start ) );
    /*/
    start=System.currentTimeMillis();

    temp=null;

    for( int i=0; i<times; i++ )
       {
         temp=Long.toString( times );
       }

    System.out.println( temp+" "+( System.currentTimeMillis()-start ) );
    //*/
  }
}



NeedJava 2007-09-17 01:23 发表评论
]]>
〔Java〕看看谁ȝ?/title><link>http://www.aygfsteel.com/needjava/archive/2007/09/17/145663.html</link><dc:creator>NeedJava</dc:creator><author>NeedJava</author><pubDate>Sun, 16 Sep 2007 17:02:00 GMT</pubDate><guid>http://www.aygfsteel.com/needjava/archive/2007/09/17/145663.html</guid><wfw:comment>http://www.aygfsteel.com/needjava/comments/145663.html</wfw:comment><comments>http://www.aygfsteel.com/needjava/archive/2007/09/17/145663.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/needjava/comments/commentRss/145663.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/needjava/services/trackbacks/145663.html</trackback:ping><description><![CDATA[ <p> <font face="Courier New" color="#808080" size="2">刚刚写的看谁复制的快Q只是由于在目中犹豫到底是用哪个好而写的,没想到大家很感兴,那我再把d文g谁快也翻上来Q有错尽拍砖?br /><br />另外Q最好能攑֜有上万张10KB以上的图片的文g夹下q行Q否则不一定看出效果,我的是六千多张,10240L取胜?br /><br />import java.io.File;<br />import java.io.IOException;<br />import java.io.FileInputStream;<br />import java.io.FileNotFoundException;</font> </p> <p> <br /> <font face="Courier New" color="#808080" size="2">/*******************************************************************************<br /> *<br /> *<br /> * Author: NeedJava<br /> *<br /> * Modified: 2007.08.26<br /> *<br /> ******************************************************************************/<br />public final class ReadFaster<br />{<br />  /*****************************************************************************<br />   *<br />   * 构造函敎ͼ默认使用当前路径<br />   *<br />   ****************************************************************************/<br />  public ReadFaster()<br />  {<br />    this( "." );<br />  }</font> </p> <p> <font face="Courier New" color="#808080" size="2">  public ReadFaster( String fileName )<br />  {<br />    this.listPictures( null, fileName );<br />  }</font> </p> <p> <br /> <font face="Courier New" color="#808080" size="2">  /*****************************************************************************<br />   *<br />   * 列出当前目录下的文g列表Q包括文件和文g?br />   *<br />   ****************************************************************************/<br />  private final void listPictures( File path, String fileName )<br />  {<br />    File file=new File( path, fileName );</font> </p> <p> <font face="Courier New" color="#808080" size="2">    if( file.isDirectory() )<br />      {<br />        //得到当前目录下的文g列表Q包括文件和文g?br />        String[] children=file.list();</font> </p> <p> <font face="Courier New" color="#808080" size="2">        //如果子集为空Q就攑ּ后面的操?br />        if( children==null )<br />          {<br />            return;<br />          }</font> </p> <p> <font face="Courier New" color="#808080" size="2">        //排序<br />        //java.util.Arrays.sort( children );</font> </p> <p> <font face="Courier New" color="#808080" size="2">        //如果子集不ؓI,则显C?br />        for( int i=0; i<children.length; i++ )<br />           {<br />             listPictures( file, children[i] );<br />           }<br />      }<br />    else if( file.isFile() )<br />           {<br />             if( isPictureSuffix( file.getPath() ) )<br />               {<br />                 readPicture( file );<br />               }<br />           }<br />  }</font> </p> <p> <br /> <font face="Courier New" color="#808080" size="2">  /*****************************************************************************<br />   *<br />   * Ҏ后缀名判断是否是有效的图片,q且q回写的后~?br />   *<br />   ****************************************************************************/<br />  private final boolean isPictureSuffix( String fileName )<br />  {<br />    if( fileName==null )<br />      {<br />        return false;<br />      }</font> </p> <p> <font face="Courier New" color="#808080" size="2">    int length=fileName.length();</font> </p> <p> <font face="Courier New" color="#808080" size="2">    //可能存在?jpg”这L文gQ即4个字W?br />    if( length>=4 )<br />      {<br />        char c=fileName.charAt( length-4 );</font> </p> <p> <font face="Courier New" color="#808080" size="2">        if( c=='.' )<br />          {<br />            c=fileName.charAt( length-3 );</font> </p> <p> <font face="Courier New" color="#808080" size="2">            if( c=='j'||c=='J' )<br />              {<br />                c=fileName.charAt( length-2 );</font> </p> <p> <font face="Courier New" color="#808080" size="2">                if( c=='p'||c=='P' )<br />                  {<br />                    c=fileName.charAt( length-1 );</font> </p> <p> <font face="Courier New" color="#808080" size="2">                    if( c=='g'||c=='G' )<br />                      {<br />                        return true;<br />                      }<br />                    else if( c=='e'||c=='E' )<br />                           {<br />                             return true;<br />                           }<br />                  }<br />              }<br />            else if( c=='t'||c=='T' )<br />                   {<br />                     c=fileName.charAt( length-2 );</font> </p> <p> <font face="Courier New" color="#808080" size="2">                     if( c=='i'||c=='I' )<br />                       {<br />                         c=fileName.charAt( length-1 );</font> </p> <p> <font face="Courier New" color="#808080" size="2">                         if( c=='f'||c=='F' )<br />                           {<br />                             return true;<br />                           }<br />                       }<br />                   }<br />          }<br />        else if( c=='j'||c=='J' )<br />               {<br />                 c=fileName.charAt( length-3 );</font> </p> <p> <font face="Courier New" color="#808080" size="2">                 if( c=='p'||c=='P' )<br />                   {<br />                     c=fileName.charAt( length-2 );</font> </p> <p> <font face="Courier New" color="#808080" size="2">                     if( c=='e'||c=='E' )<br />                       {<br />                         c=fileName.charAt( length-1 );</font> </p> <p> <font face="Courier New" color="#808080" size="2">                         if( c=='g'||c=='G' )<br />                           {<br />                             return true;<br />                           }<br />                       }<br />                   }<br />                 else if( c=='f'||c=='F' )<br />                        {<br />                          c=fileName.charAt( length-2 );</font> </p> <p> <font face="Courier New" color="#808080" size="2">                          if( c=='i'||c=='I' )<br />                            {<br />                              c=fileName.charAt( length-1 );</font> </p> <p> <font face="Courier New" color="#808080" size="2">                              if( c=='f'||c=='F' )<br />                                {<br />                                  return true;<br />                                }<br />                            }<br />                        }<br />               }<br />        else if( c=='t'||c=='T' )<br />               {<br />                 c=fileName.charAt( length-3 );</font> </p> <p> <font face="Courier New" color="#808080" size="2">                 if( c=='i'||c=='I' )<br />                   {<br />                     c=fileName.charAt( length-2 );</font> </p> <p> <font face="Courier New" color="#808080" size="2">                     if( c=='f'||c=='F' )<br />                       {<br />                         c=fileName.charAt( length-1 );</font> </p> <p> <font face="Courier New" color="#808080" size="2">                         if( c=='f'||c=='F' )<br />                           {<br />                             return true;<br />                           }<br />                       }<br />                   }</font> </p> <p> <font face="Courier New" color="#808080" size="2">               }<br />      }</font> </p> <p> <font face="Courier New" color="#808080" size="2">    return false;<br />  }</font> </p> <p> <br /> <font face="Courier New" color="#808080" size="2">  /*****************************************************************************<br />   *<br />   * 大于10240的,每次?024?048<br />   *<br />   * 于10240的,?0240一ơ即?br />   *<br />   ****************************************************************************/<br />  private final String readPicture( File file )<br />  {<br />    try{ FileInputStream fis=new FileInputStream( file );</font> </p> <p> <font face="Courier New" color="#808080" size="2">         //于10K的忽?br />         if( fis.available()<10240 )<br />           {<br />             return "";<br />           }</font> </p> <p> <font face="Courier New" color="#808080" size="2">         long num=0L;</font> </p> <p> <font face="Courier New" color="#808080" size="2">         //Buffered的默认有2048?192</font> </p> <p> <font face="Courier New" color="#808080" size="2">         //*/ No.1<br />         byte[] buffer=new byte[10240];</font> </p> <p> <font face="Courier New" color="#808080" size="2">         if( fis.read( buffer )==10240 )<br />           {<br />             for( int i=0; i<10240; i++ )<br />                {<br />                  num++;<br />                }<br />           }<br />         //*/</font> </p> <p> <font face="Courier New" color="#808080" size="2">         /*/ No.3<br />         byte[] buffer=new byte[5120];</font> </p> <p> <font face="Courier New" color="#808080" size="2">         for( int j=0; j<2; j++ )<br />            {<br />              if( fis.read( buffer )==5120 )<br />                {<br />                  for( int i=0; i<5120; i++ )<br />                     {<br />                       num++;<br />                     }<br />                }<br />            }<br />         //*/</font> </p> <p> <font face="Courier New" color="#808080" size="2">         /*/ No.2<br />         byte[] buffer=new byte[2048];</font> </p> <p> <font face="Courier New" color="#808080" size="2">         for( int j=0; j<5; j++ )<br />            {<br />              if( fis.read( buffer )==2048 )<br />                {<br />                  for( int i=0; i<2048; i++ )<br />                     {<br />                       num++;<br />                     }<br />                }<br />            }<br />         //*/</font> </p> <p> <font face="Courier New" color="#808080" size="2">         /*/ No.4<br />         byte[] buffer=new byte[1024];</font> </p> <p> <font face="Courier New" color="#808080" size="2">         for( int j=0; j<10; j++ )<br />            {<br />              if( fis.read( buffer )==1024 )<br />                {<br />                  for( int i=0; i<1024; i++ )<br />                     {<br />                       num++;<br />                     }<br />                }<br />            }<br />         //*/</font> </p> <p> <font face="Courier New" color="#808080" size="2">         fis.close();<br />       }<br />     catch( FileNotFoundException fnfe )<br />          {<br />            fnfe.printStackTrace();<br />          }<br />     catch( IOException ioe )<br />          {<br />            ioe.printStackTrace();<br />          }<br />     catch( Exception e )<br />          {<br />            e.printStackTrace();<br />          }</font> </p> <p> <font face="Courier New" color="#808080" size="2">     return "";<br />  }</font> </p> <p> <br /> <font face="Courier New" color="#808080" size="2">  /*****************************************************************************<br />   *<br />   * d数入?br />   *<br />   ****************************************************************************/<br />  public static void main( String[] args )<br />  {<br />    try{ long begin=System.currentTimeMillis();</font> </p> <p> <font face="Courier New" color="#808080" size="2">         ReadFaster rf=new ReadFaster();</font> </p> <p> <font face="Courier New" color="#808080" size="2">         System.out.println( "d耗时Q?+( System.currentTimeMillis()-begin )+"毫秒\r\n" );<br />       }<br />    catch( Exception e )<br />         {<br />           e.printStackTrace();<br />         }<br />  }<br />}</font> </p> <img src ="http://www.aygfsteel.com/needjava/aggbug/145663.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/needjava/" target="_blank">NeedJava</a> 2007-09-17 01:02 <a href="http://www.aygfsteel.com/needjava/archive/2007/09/17/145663.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>〔Java〕中文变?/title><link>http://www.aygfsteel.com/needjava/archive/2007/09/16/145636.html</link><dc:creator>NeedJava</dc:creator><author>NeedJava</author><pubDate>Sun, 16 Sep 2007 13:42:00 GMT</pubDate><guid>http://www.aygfsteel.com/needjava/archive/2007/09/16/145636.html</guid><wfw:comment>http://www.aygfsteel.com/needjava/comments/145636.html</wfw:comment><comments>http://www.aygfsteel.com/needjava/archive/2007/09/16/145636.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.aygfsteel.com/needjava/comments/commentRss/145636.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/needjava/services/trackbacks/145636.html</trackback:ping><description><![CDATA[ <font face="Courier New"> <font size="2"> <font color="#808080">public class l结?br />{<br />  public static void main( String[] args )<br />  {<br />    for( int l结?1; l结?lt;=100; l结?+ )<br />       {<br />         System.out.println( l结?);<br />       }<br />  }<br />} <br /><br /></font> <font color="#808080">注意Q不是所有的中文都支持?<br /><br />你是不是惛_了؜淆?Q?q可不是易语aQ呵c?br /><br /></font> </font> </font> <img src ="http://www.aygfsteel.com/needjava/aggbug/145636.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/needjava/" target="_blank">NeedJava</a> 2007-09-16 21:42 <a href="http://www.aygfsteel.com/needjava/archive/2007/09/16/145636.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>〔Java〕比较赋gSystem.arraycopy谁快http://www.aygfsteel.com/needjava/archive/2007/09/16/145513.htmlNeedJavaNeedJavaSun, 16 Sep 2007 05:42:00 GMThttp://www.aygfsteel.com/needjava/archive/2007/09/16/145513.htmlhttp://www.aygfsteel.com/needjava/comments/145513.htmlhttp://www.aygfsteel.com/needjava/archive/2007/09/16/145513.html#Feedback8http://www.aygfsteel.com/needjava/comments/commentRss/145513.htmlhttp://www.aygfsteel.com/needjava/services/trackbacks/145513.html /*******************************************************************************
 *
 * 比较赋gSystem.arraycopy谁快
 *
 * 复制的内容越多,System.arraycopy优势更明?br /> *
 * Author: NeedJava
 *
 * Modified: 2007.09.16
 *
 ******************************************************************************/
public final class WhoFaster
{
  public static void main( String[] args )
  {
    /*/
    int begin=100;

    int length=12;

    String temp="12345678901234567890"
               +"12345678901234567890"
               +"12345678901234567890"
               +"12345678901234567890"
               +"12345678901234567890"
               +"黑客帝国忍者神龟变形金?
               +"12345678901234567890"
               +"12345678901234567890"
               +"12345678901234567890"
               +"12345678901234567890"
               +"12345678901234567890";

    int times=10000000;  //千万
    /*/
    int begin=100;

    int length=120;

    String temp="12345678901234567890"
               +"12345678901234567890"
               +"12345678901234567890"
               +"12345678901234567890"
               +"12345678901234567890"
               +"黑客帝国忍者神龟变形金?
               +"黑客帝国忍者神龟变形金?
               +"黑客帝国忍者神龟变形金?
               +"黑客帝国忍者神龟变形金?
               +"黑客帝国忍者神龟变形金?
               +"黑客帝国忍者神龟变形金?
               +"黑客帝国忍者神龟变形金?
               +"黑客帝国忍者神龟变形金?
               +"黑客帝国忍者神龟变形金?
               +"黑客帝国忍者神龟变形金?
               +"12345678901234567890"
               +"12345678901234567890"
               +"12345678901234567890"
               +"12345678901234567890"
               +"12345678901234567890";

    int times=1000000;  //百万
    //*/

    char[] oldArray=temp.toCharArray();

    char[] newArray=null;

    long start=0L;


    ////////////////////////////////////////////////////////////////////////////
    //
    // 单纯赋?br />    //
    ////////////////////////////////////////////////////////////////////////////
    newArray=new char[length];

    start=System.currentTimeMillis();

    for( int i=0; i<times; i++ )
       {
         for( int j=0; j<length; j++ )
            {
              newArray[j]=oldArray[begin+j];
            }
       }

    System.out.println( new String( newArray )+" "+( System.currentTimeMillis()-start ) );


    ////////////////////////////////////////////////////////////////////////////
    //
    // System.arraycopy
    //
    ////////////////////////////////////////////////////////////////////////////
    newArray=new char[length];

    start=System.currentTimeMillis();

    for( int i=0; i<times; i++ )
       {
         System.arraycopy( oldArray, begin, newArray, 0, length );
       }

    System.out.println( new String( newArray )+" "+( System.currentTimeMillis()-start ) );
  }
}



NeedJava 2007-09-16 13:42 发表评论
]]>
〔Finance〕存Ƒև备金http://www.aygfsteel.com/needjava/archive/2007/09/15/145277.htmlNeedJavaNeedJavaFri, 14 Sep 2007 16:54:00 GMThttp://www.aygfsteel.com/needjava/archive/2007/09/15/145277.htmlhttp://www.aygfsteel.com/needjava/comments/145277.htmlhttp://www.aygfsteel.com/needjava/archive/2007/09/15/145277.html#Feedback0http://www.aygfsteel.com/needjava/comments/commentRss/145277.htmlhttp://www.aygfsteel.com/needjava/services/trackbacks/145277.html 存款准备金是指金融机构ؓ保证客户提取存款和资金清需要而准备的在中央银行的存款。中央银行要求的存款准备金占其存ƾ总额的比例就是存Ƒև备金率?

中央银行通过调整存款准备金率Q可以媄响金融机构的信贷扩张能力Q从而间接调控货币供应量。存Ƒև备金占金融机构存ƾ总额的比例则叫做存款准备金率?

打比方说Q如果存Ƒև备金率ؓQ0Q,意味着金融机构每吸ӞQ0Q万元存ƾ,要向央行~存Q0Q万元的存款准备金,用于发放h的资金ؓQ0Q万元。如果将存款准备金率提高刎ͼQ%Q那么金融机构的可贷资金减到Q0Q万元?

在存Ƒև备金制度下,金融机构不能其吸收的存Ƒօ部用于发放贷ƾ,必须保留一定的资金卛_Ƒև备金Q以备客hƄ需要,因此存款准备金制度有利于保证金融机构对客L正常支付?/font>

打个比方Q不太恰当,我没谈GQ前Q老妈Q中央银行)Z控制我(国内其他银行或合法存h机构Q的pQ决定每月按照我当月的工资向她上~一定比例的钱,q个比例是存款准备金率Q这部分钱就是存Ƒև备金Q这部分上缴的钱我是可以随时甌使用的,但必ȝ后补全。但是我哥们多,借钱也多Q我又好施舍Q贷ƾ)Q结果一些h借了׃q,老妈得知非常生气Q决定提高上~比例(上调存款准备金率Q,q样我每月可供用的钱就了Q我借钱的时候就得认真考虑了:q小子还Ơ我钱(信用评审Q,不能借;那小子找我借钱赌博Q风险项目投资)Q风险大Q不能借;另外q个子有东西存我这Q抵押或质押Q,我不怕他Ơ钱Q借给他?/font>

q次央行上调存款准备金率和贷Ƒֈ息,均是Z减少q度hQ减资金流动过快,以及通货膨胀Q其实我感觉像是在打压股市的q度投资Q说不定财政部过D|间又要有措施了,五月份他们刚调整的印qQ这ơ不知道他们又有何D动?

央行行长周小川现在最惛_的歌是Q你Q钱Q快回来Q我的手心一直在冒汗Q你Q钱Q快回来Q银行依你而存在?br />



NeedJava 2007-09-15 00:54 发表评论
]]>
〔English〕脱口而出的习惯语http://www.aygfsteel.com/needjava/archive/2007/09/15/145272.htmlNeedJavaNeedJavaFri, 14 Sep 2007 16:21:00 GMThttp://www.aygfsteel.com/needjava/archive/2007/09/15/145272.htmlhttp://www.aygfsteel.com/needjava/comments/145272.htmlhttp://www.aygfsteel.com/needjava/archive/2007/09/15/145272.html#Feedback0http://www.aygfsteel.com/needjava/comments/commentRss/145272.htmlhttp://www.aygfsteel.com/needjava/services/trackbacks/145272.html

事一桩?br />That's a piece of cake.
That's as easy as pie! 
I can do it with my eyes closed.


请你客气?br />Who do you think you're talking to?
Don't get fresh with me.Qget fresh with大多用于母亲对孩子的斥责之时Q?br />

{着?br />You'll see.
Time will tell.


多管闲事
(It is) None of your business.
Mind your own business.
Who asked you?
This has nothing to do with you.


别狗眼看Z
Do I look like a fool?
Who do you think I am?
What kind of a fool do you take me for?


不要告诉别h
Don't tell anybody (about it).
This is just between you and me.
This doesn't leave this room.
This is for your ears only.


当然
You bet.
You know it.
You betcha.


你在开玩笑
You are kidding(joking).
You have got to be kidding(joking).
Are you kidding(joking).


没错Q就是这?br />You got that right.
You wit the rail on the head.


世界真小
It is a small world.
Small world!
You never know whom you will bump into.


既然如此Q你自己来吧
Do it yourself, then


q才像话
That is more like it.


太过分了
That is going too far.


我老早告诉过你了
See I told you (so).


那又怎样Q?br />So what?


指望你?br />I'm counting on you.
You're my only hope.


x办法吧!Q别老是坐在那里Q?br />Do something (about it).
Don't just sit there.


别装M
Stop playing the fool.
Don't act stupid.


你有何不满?
Any complaints?
Do you have anything to say?


船到桥头自然盾b?br />Thing will work out.
It will work out.
Everything will be fine.


Q小辫子Q被抓到?br />You caught me.


我早q道了
I'm fully(well) aware of that.
You don't have to tell me.
I wasn't born yesterday.


我认输了 
Beats me.
You got me.
You got that right.
I can't hack this.Qhack 是完成Q务的俗语Q?br />

你到底要说什么?
Don't beat around the bush?
Get to the point?
What are you try to say?


你以Z是谁Q?br />Who do you think you are?

 


NeedJava 2007-09-15 00:21 发表评论
]]>
〔Movie〕兄弟连 德国战| 德国军对士늚?/title><link>http://www.aygfsteel.com/needjava/archive/2007/09/15/145270.html</link><dc:creator>NeedJava</dc:creator><author>NeedJava</author><pubDate>Fri, 14 Sep 2007 16:09:00 GMT</pubDate><guid>http://www.aygfsteel.com/needjava/archive/2007/09/15/145270.html</guid><wfw:comment>http://www.aygfsteel.com/needjava/comments/145270.html</wfw:comment><comments>http://www.aygfsteel.com/needjava/archive/2007/09/15/145270.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/needjava/comments/commentRss/145270.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/needjava/services/trackbacks/145270.html</trackback:ping><description><![CDATA[ <div style="MARGIN-BOTTOM: 10px"> <h4 class="mode_title" id="veryTitle"> <font color="#a9a9a9"> <font size="5"> <font face="楷体_GB2312">q是一场O长的战争Q也是一苦的战争?br /><br />你们英勇q傲地为祖国而战?br /><br />你们是不q_的一,彼此紧密相连?br /><br />q种情谊只存在于战斗中?br /><br />在兄弟之_共同使用散兵坑;在最需要的时候,彼此扶持?br /><br />你们看过MQ一L历磨难?br /><br />我很高兴能与你们每个人共同服彏V?br /><br />你们有权享受永远快乐的和q生z?<wbr><wbr><wbr></wbr></wbr></wbr></font> <br /></font> </font> </h4> </div> <div style="POSITION: relative"> <font color="#a9a9a9" size="4"> </font> </div> <img src ="http://www.aygfsteel.com/needjava/aggbug/145270.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/needjava/" target="_blank">NeedJava</a> 2007-09-15 00:09 <a href="http://www.aygfsteel.com/needjava/archive/2007/09/15/145270.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>〔Java〕对数字或文件名排列http://www.aygfsteel.com/needjava/archive/2007/09/14/145003.htmlNeedJavaNeedJavaThu, 13 Sep 2007 16:17:00 GMThttp://www.aygfsteel.com/needjava/archive/2007/09/14/145003.htmlhttp://www.aygfsteel.com/needjava/comments/145003.htmlhttp://www.aygfsteel.com/needjava/archive/2007/09/14/145003.html#Feedback0http://www.aygfsteel.com/needjava/comments/commentRss/145003.htmlhttp://www.aygfsteel.com/needjava/services/trackbacks/145003.html

/*******************************************************************************
 *
 * Ҏ字或文g名排?br /> *
 * 没有考虑汉字昄时占两个位置的情况,卛_文g名处理不太好
 *
 * Author: NeedJava
 *
 * Modified: 2007.09.09
 *
 ******************************************************************************/

public final class DotAlign
{
  private DotAlign(){}

  private static final String align( String string,
                                     char prefix,
                                     char suffix,
                                     int prefixLength,
                                     int suffixLength,
                                     boolean isNumber )
  {
    if( string==null||string.equals( "" )||string.equals( "." )||prefixLength<0||suffixLength<0 )
      {
        return string;
      }

    //如果没有数Q那么按照常理,数点也应该省略
    char[] buffer=new char[( suffixLength>0 ? prefixLength+1+suffixLength : prefixLength )];

    int stringLength=string.length();

    int dot=stringLength-1;

    //扑ֈ数点位|,可以用lastIndexOf()代替
    while( dot>-1 )
         {
           if( string.charAt( dot-- )=='.' )
             {
               dot++;

               break;
             }
         }

    //System.out.print( Integer.toString( dot )+"\t" );

    //★整数部分,从小数点左位向左U?br />    int pointer=( dot>-1 ? dot-1 : stringLength-1 );

    for( int i=prefixLength-1; i>-1; i-- )
       {
         if( pointer>-1 )
           {
             buffer[i]=string.charAt( pointer-- );
           }
         else{ buffer[i]=prefix;
             }
       }

    //如果没有数部分Q那么按照常理,数点应该省?br />    if( suffixLength>0 )
      {
        //★小数点
        buffer[prefixLength]=( dot>-1||isNumber ? '.' : suffix );

        //★小数部分,从小数点右位向右U?br />        pointer=( dot>-1 ? dot+1 : stringLength );

        for( int i=prefixLength+1; i<buffer.length; i++ )
           {
             if( pointer<stringLength )
               {
                 buffer[i]=string.charAt( pointer++ );
               }
             else{ buffer[i]=suffix;
                 }
           }
      }

    return new String( buffer );
  }


  public final static void main( String[] args )
  {
    System.out.println( "\r\n-------------------------------------------\r\n" );

    String[] number={ "",
                      ".",
                      ".5",
                      ".56",
                      ".567",
                      ".5678",
                      "1234",
                      "1234.",
                      "1234.5",
                      "1234.56",
                      "1234.567",
                      "1234.5678" };

    for( int i=0; i<number.length; i++ )
       {
         System.out.println( "["+DotAlign.align( number[i], ' ', '0', 7, 2, true )+"]   ["+number[i]+"]" );
       }

    System.out.println( "\r\n-------------------------------------------\r\n" );

    String[] file={ "",
                    ".",
                    ".j",
                    ".jp",
                    ".jpe",
                    ".jpeg",
                    "1234",
                    "1234.",
                    "1234.j",
                    "1234.jp",
                    "1234.jpe",
                    "1234.jpeg" };

    for( int i=0; i<file.length; i++ )
       {
         System.out.println( "["+DotAlign.align( file[i], ' ', ' ', 7, 5, false )+"]   ["+file[i]+"]" );
       }

    System.out.println( "\r\n-------------------------------------------\r\n" );
  }
}



NeedJava 2007-09-14 00:17 发表评论
]]>
〔Other〕Blog新地址http://www.aygfsteel.com/needjava/archive/2007/09/10/143973.htmlNeedJavaNeedJavaMon, 10 Sep 2007 06:06:00 GMThttp://www.aygfsteel.com/needjava/archive/2007/09/10/143973.htmlhttp://www.aygfsteel.com/needjava/comments/143973.htmlhttp://www.aygfsteel.com/needjava/archive/2007/09/10/143973.html#Feedback0http://www.aygfsteel.com/needjava/comments/commentRss/143973.htmlhttp://www.aygfsteel.com/needjava/services/trackbacks/143973.html

 


NeedJava 2007-09-10 14:06 发表评论
]]>
〔Windows〕不能重命名的Program Files和Windows文g?/title><link>http://www.aygfsteel.com/needjava/archive/2007/09/03/142274.html</link><dc:creator>NeedJava</dc:creator><author>NeedJava</author><pubDate>Mon, 03 Sep 2007 05:28:00 GMT</pubDate><guid>http://www.aygfsteel.com/needjava/archive/2007/09/03/142274.html</guid><wfw:comment>http://www.aygfsteel.com/needjava/comments/142274.html</wfw:comment><comments>http://www.aygfsteel.com/needjava/archive/2007/09/03/142274.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/needjava/comments/commentRss/142274.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/needjava/services/trackbacks/142274.html</trackback:ping><description><![CDATA[ <font face="Courier New" size="2">今天无意中想复制Program Files文g夹的名称Q一般单d可以q去了,但今天发现咚咚直响,右键也没有“重命名”选项Q不知道是不是微软的安全漏洞让微软封了此文g夹?q是我一直没发现Q?/font> <img src ="http://www.aygfsteel.com/needjava/aggbug/142274.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/needjava/" target="_blank">NeedJava</a> 2007-09-03 13:28 <a href="http://www.aygfsteel.com/needjava/archive/2007/09/03/142274.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>〔Java〕〔SWT〕分析RSSOwl如何做到只运行一个实例,q且可以Ȁz?/title><link>http://www.aygfsteel.com/needjava/archive/2007/09/01/141959.html</link><dc:creator>NeedJava</dc:creator><author>NeedJava</author><pubDate>Sat, 01 Sep 2007 09:03:00 GMT</pubDate><guid>http://www.aygfsteel.com/needjava/archive/2007/09/01/141959.html</guid><wfw:comment>http://www.aygfsteel.com/needjava/comments/141959.html</wfw:comment><comments>http://www.aygfsteel.com/needjava/archive/2007/09/01/141959.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/needjava/comments/commentRss/141959.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/needjava/services/trackbacks/141959.html</trackback:ping><description><![CDATA[ <p> <font face="Courier New" color="#808080" size="2">前几天自己发表的只运行一个实例的文章Q感谢Pande的留意,q提出宝贉|见,他推荐的正好是我x的RSSOwl源码Q以下是我分析RSSOwl如何做到只运行一个实例ƈ且激zȝQ如有错误,h砖?br /></font> <a > <br /> </a> </p> <p> <a > <font face="Courier New" color="#808080" size="2">http://sourceforge.krugle.com/kse/files/cvs/cvs.sourceforge.net/rssowl/RSSOwl/src/java/net/sourceforge/rssowl/controller/RSSOwlLoader.java</font> </a> </p> <p> <font face="Courier New" color="#808080" size="2">Ҏ RSSOwlLoader.java 中的</font> </p> <p> <font face="Courier New" color="#808080" size="2">[code]<br />private static void startupProcess( String[] args )<br />{ <br />  ...</font> </p> <p> <font face="Courier New" color="#808080" size="2">  if( !System.getProperties().containsKey( PROPERTY_ALLOW_MULTI_INSTANCES )&&<font color="#ff0000">StartupManager.isRSSOwlRunning( feedArgument )</font> )</font> </p> <p> <font face="Courier New" color="#808080" size="2">  ...</font> </p> <p> <font face="Courier New" color="#808080" size="2">}<br />[/code]</font> </p> <p> <font face="Courier New" color="#808080" size="2">q踪?StartupManager.java 见下Q?/font> </p> <p> <a > <font face="Courier New" color="#808080" size="2">http://sourceforge.krugle.com/kse/files/cvs/cvs.sourceforge.net/rssowl/RSSOwl/src/java/net/sourceforge/rssowl/controller/thread/StartupManager.java</font> </a> </p> <p> <font face="Courier New" color="#808080" size="2">q踪?StartupManager.isRSSOwlRunning( String message ) 用途ؓ建立ServerSocketQ监听本?794端口</font> </p> <p> <font face="Courier New" color="#808080" size="2">[code]<br />static ServerSocket applLockSocket;</font> </p> <p> <font face="Courier New" color="#808080" size="2">public static boolean isRSSOwlRunning( String message )<br />{ </font> </p> <p> <font face="Courier New" color="#ff0000" size="2">  try{ applLockSocket=new ServerSocket( 8794, 50, InetAddress.getByName( "127.0.0.1" ) );  //1987q??日出生?</font> </p> <p> <font face="Courier New" color="#ff0000" size="2">       handleSocketUnBound();  //</font> </p> <p> <font face="Courier New" color="#808080" size="2"> <font color="#ff0000">       return false;<br /></font>     } <br />  catch( java.net.BindException e )    //Another instance already running<br />       { <br />         ...</font> </p> <p> <font face="Courier New" color="#ff0000" size="2">         handleSocketBound( message );  //</font> </p> <p> <font face="Courier New" color="#808080" size="2"> <font color="#ff0000">         return true;<br /></font>       }  <br />  catch( IOException e )  //Other Error<br />       { <br />         ...</font> </p> <p> <font face="Courier New" color="#808080" size="2">         return false;<br />       }<br />} <br />[/code]</font> </p> <p> <font face="Courier New" color="#808080" size="2">q踪?StartupManager.handleSocketUnBound() ?StartupManager.handleSocketBound( String message )</font> </p> <p> <font face="Courier New" color="#808080" size="2">[code]<br />private static void handleSocketBound( String message )<br />{<br />  Socket socket;</font> </p> <p> <font face="Courier New" color="#808080" size="2">  try{ socket=new Socket( InetAddress.getByName( "127.0.0.1" ), 8794 );</font> </p> <p> <font face="Courier New" color="#808080" size="2">       PrintWriter writer=new PrintWriter( new OutputStreamWriter( socket.getOutputStream() ) );</font> </p> <p> <font face="Courier New" color="#ff0000" size="2">       writer.println( ( message!=null&&message.length()>0 ) ? message : DEFAULT_MESSAGE );</font> </p> <p> <font face="Courier New" color="#808080" size="2">       writer.flush();<br />     }<br />  catch( UnknownHostException e )<br />       {<br />         ...<br />       }<br />  catch( IOException e )<br />       {<br />         ...<br />       }<br />}<br />[/code]<br /><br />[code]<br /></font> <font face="Courier New" color="#808080" size="2">/**<br /> * Server not yet running. Start it and listen for incoming messages.<br /> */<br />private static void handleSocketUnBound()<br />{<br />  listen();  //转向Qؓ了对U好看?q是Z兼容Q?br />}<br /><br /></font> <font face="Courier New" color="#808080" size="2">/**<br /> * Listen for incoming messages.看看接受的连接发送了什么内?br /> */<br />private static void listen()<br />{<br />  //Run the Server inside a Thread<br />  server=new ExtendedThread()  //extends from Thread<br />  {<br />    public void run()<br />    {<br />      while( !isStopped()&&!isInterrupted() )<br />           {<br />             BufferedReader buffReader=null;</font> </p> <p> <font face="Courier New" color="#808080" size="2">             try{ //Read a single line from the Socket<br />                  Socket socket=applLockSocket.accept();</font> </p> <p> <font face="Courier New" color="#808080" size="2">                  buffReader=new BufferedReader( new InputStreamReader( socket.getInputStream() ) );</font> </p> <p> <font face="Courier New" color="#808080" size="2">                  final String message=buffReader.readLine();</font> </p> <p> <font face="Courier New" color="#808080" size="2">                  socket.close();</font> </p> <p> <font face="Courier New" color="#808080" size="2">                  //Check the received message<br /><font color="#ff0000">                  if( ( message!=null&&message.length()>0 )&&GUI.display!=null&&!GUI.display.isDisposed() )  //ȀzL个GUI的代码在此,我们q去看看<br /></font>                    {<br />                      GUI.display.asyncExec( new Runnable()<br />                      {<br />                        public void run()<br />                        {<br />                          //Restore the RSSOwl Window and handle Message<br />                          if( GUI.isAlive() )<br />                            {<br /><font color="#ff0000">                              GUI.rssOwlGui.restoreWindow();  //扑ֈ了,转到GUI.java</font></font> </p> <p> <font face="Courier New" color="#808080" size="2">                              //Handle the message as Link if valid argument<br />                              if( RSSOwlLoader.isValidArgument( message ) )<br />                                {<br />                                  GUI.rssOwlGui.getEventManager().actionHandleSuppliedLink( message );<br />                                }<br />                            }<br />                        }<br />                      } );<br />                    }<br />                }<br />             catch( IOException e )<br />                  {<br />                    ...<br />                  }<br />             finally{ //关闭?br />                    }<br />           }<br />    }<br />  };</font> </p> <p> <font face="Courier New" color="#808080" size="2">  server.setDaemon( true );</font> </p> <p> <font face="Courier New" color="#808080" size="2">  server.setName( "Startup Manager Thread" );</font> </p> <p> <font face="Courier New" color="#808080" size="2">  server.start();<br />}<br />[/code]</font> </p> <p> <font face="Courier New" color="#808080" size="2">q踪?GUI.java 见下Q?/font> </p> <p> <a > <font face="Courier New" color="#808080" size="2">http://sourceforge.krugle.com/kse/files/cvs/cvs.sourceforge.net/rssowl/RSSOwl/src/java/net/sourceforge/rssowl/controller/GUI.java</font> </a> </p> <p> <font face="Courier New" color="#808080" size="2">q踪到GUI.restoreWindow()</font> </p> <p> <font face="Courier New" color="#808080" size="2">[code]<br />/**<br /> * Restore the application window either from taskbar or the tray.<br /> */<br />public void restoreWindow()<br />{<br />  //RSSOwl is minimized to Tray<br />  if( GlobalSettings.useSystemTray()&&rssOwlSystray!=null&&rssOwlSystray.isMinimizedToTray() )<br />    {<br />      rssOwlSystray.restoreWindow();<br />    }<br />  else{ //RSSOwl is not active<br /><font color="#ff0000">        shell.forceActive();  //是它了</font></font> </p> <p> <font face="Courier New" color="#808080" size="2">        shell.setMinimized( false );<br />      }<br />}<br />[/code]</font> </p> <p> <font size="2"> <font face="Courier New" color="#808080">原理如下Q?<br /><br /><font color="#808080">在本?794端口建立服务监听Qƈ且一直监听此端口Q试图接受此端口其它实例Q其它程序?Q发送的输入 <br /><br />如果d数据Q好像没有判断数据的合法性,仅仅判断数据不ؓI)Qƈ且自׃是“激zZ状态,“激zZ自己; <br /><br />如果建立服务监听不成功,说明已经有实例(其它E序Q)占用此端口了Q向此端口发送数据唤醒前一个实例,停几U以便前一个实例接受,然后退出?<br /><br />E序用的是SWTQ激zL法用的是shell.forceActive()Qbut it's not good for core java. <br /><br />以上分析如有不对Q恳h正?/font></font> <font color="#808080"> </font> </font> </p> <p> <br /> <br /> <font face="Courier New" color="#808080" size="2">  </font> </p> <img src ="http://www.aygfsteel.com/needjava/aggbug/141959.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/needjava/" target="_blank">NeedJava</a> 2007-09-01 17:03 <a href="http://www.aygfsteel.com/needjava/archive/2007/09/01/141959.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>〔Love〕我的外甥女会喊妈妈?/title><link>http://www.aygfsteel.com/needjava/archive/2007/08/29/141117.html</link><dc:creator>NeedJava</dc:creator><author>NeedJava</author><pubDate>Wed, 29 Aug 2007 14:49:00 GMT</pubDate><guid>http://www.aygfsteel.com/needjava/archive/2007/08/29/141117.html</guid><wfw:comment>http://www.aygfsteel.com/needjava/comments/141117.html</wfw:comment><comments>http://www.aygfsteel.com/needjava/archive/2007/08/29/141117.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/needjava/comments/commentRss/141117.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/needjava/services/trackbacks/141117.html</trackback:ping><description><![CDATA[ <font face="Courier New" color="#808080" size="2">2007q?8?8日,很吉利的日子Q我的外甥女l于会喊妈妈了,呵呵Q可q宝宝,亲一个先?br /><br />不过Q不知道她什么时候喊我舅舅啊Q?)</font> <img src ="http://www.aygfsteel.com/needjava/aggbug/141117.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/needjava/" target="_blank">NeedJava</a> 2007-08-29 22:49 <a href="http://www.aygfsteel.com/needjava/archive/2007/08/29/141117.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>〔Java〕只q行一个实例(使用System.setErr()重定向)http://www.aygfsteel.com/needjava/archive/2007/08/29/141106.htmlNeedJavaNeedJavaWed, 29 Aug 2007 14:11:00 GMThttp://www.aygfsteel.com/needjava/archive/2007/08/29/141106.htmlhttp://www.aygfsteel.com/needjava/comments/141106.htmlhttp://www.aygfsteel.com/needjava/archive/2007/08/29/141106.html#Feedback8http://www.aygfsteel.com/needjava/comments/commentRss/141106.htmlhttp://www.aygfsteel.com/needjava/services/trackbacks/141106.html 如何只运行一个实例,|上有三U方法(单模式不)Q?br />
1、占用端口(有效Q但是有端口被挪用的~陷Q?br />
2、检查文件是否存在(有效Q但H然停机可能有问题)

3、用JNIQ有效,但失可UL性)

我写的和W二个原理差不多Q判断某个文件是否被占用Qƈ且我把记录日志、保存日志、判断是否运行放在一赗?br />
你可以{载本BlogQ但是不能篡改作者名U?br />

import java.awt.event.WindowEvent;
import java.awt.event.WindowAdapter;

import java.io.File;
import java.io.IOException;
import java.io.PrintStream;
import java.io.FileOutputStream;
import java.io.FileNotFoundException;

import javax.swing.JFrame;


/*******************************************************************************
 *
 * 只运行一个实?br /> *
 * Just single instance
 *
 *
 * Author: NeedJava
 *
 * Modified: 2007.08.29
 *
 *
 * 你可以用此E序于Q何地方,但请保留E序作者及注释的完整。如果你改进了程序,
 *
 * 请在原作者后d姓名Q如QAuthor: NeedJava/Jack/MikeQ版本及修改旉同理?br /> *
 ******************************************************************************/
public final class SingleInstance
{
  /*****************************************************************************
   *
   * 构造函?br />   *
   ****************************************************************************/
  private SingleInstance()
  {
    this( "vab", ".vab", "vab" );
  }


  public SingleInstance( String filePrefixName, String fileSuffixName, String directoryName )
  {
    this.init( filePrefixName, fileSuffixName, directoryName );
  }


  /*****************************************************************************
   *
   * 原理Q?br />   *
   * 用重定向标准错误输出流定向C个日志文Ӟ占用它,使其不能被删?br />   *
   * 以后的实例试囑ְ存在的此日志文g改名q且另存为某个文件夹?br />   *
   * 如果成功Q说明没有程序占用它Q不排除你在用它Q缺PQ,正好保存日志
   *
   * 如果不成功,退出、renameTo命o有一双雕的作用
   *
   ****************************************************************************/
  private final void init( String filePrefixName, String fileSuffixName, String directoryName )
  {
    if( filePrefixName==null||fileSuffixName==null||directoryName==null )
      {
        exitWithWarning( "Error: Invalid file name.", 10 );
      }

    //We need check the fileSuffixName here? From the tail?

    String fileName=filePrefixName+fileSuffixName;

    try{ File error=new File( fileName );

         if( error.exists() )
           {
             File directory=new File( directoryName );

             String newFileName=directoryName+File.separator+convertMillisecond2DateTime( error.lastModified() )+fileSuffixName;

             //System.out.println( newFileName );

             if( directory.exists() )
               {
                 if( directory.isDirectory() )
                   {
                     //renameTo也是好东东,既可以改名,q可以移文g
                     if( !error.renameTo( new File( newFileName ) ) )
                       {
                         exitWithWarning( "Error: The instance already exists, I will exit.", 11 );
                       }
                   }
                 else{ exitWithWarning( "Error: The \'"+directoryName+"\' is not a valid directory.", 21 );
                     }
               }
             else{ if( directory.mkdirs() )
                     {
                       //renameTo也是好东东,既可以改名,q可以移文g
                       if( !error.renameTo( new File( newFileName ) ) )
                         {
                           exitWithWarning( "Error: The instance already exists, I will exit.", 11 );
                         }
                     }
                   else{ exitWithWarning( "Error: Failed to create the \'"+directoryName+"\' directory.", 22 );
                       }
                 }
           }

         //重定向标准错误输出流Q所有功能全靠它。来Q啵一?br />         System.setErr( new PrintStream( new FileOutputStream( fileName ) ) );
       }
    catch( FileNotFoundException fnfe )
         {
           //fnfe.printStackTrace();

           exitWithWarning( fnfe.toString(), 23 );
         }
    catch( IOException ioe )
         {
           //ioe.printStackTrace();

           exitWithWarning( ioe.toString(), 29 );
         }
    catch( Exception e )
         {
           //e.printStackTrace();

           exitWithWarning( e.toString(), 99 );
         }
  }


  /*****************************************************************************
   *
   * You can change the milliseconds to the date and time string here
   *
   * I just return the original
   *
   * Don't get the same string :)
   *
   ****************************************************************************/
  private final String convertMillisecond2DateTime( long millisecond )
  {
    return ""+millisecond;
  }


  /*****************************************************************************
   *
   * Return the warning and the exit code, then exit the application
   *
   ****************************************************************************/
  private final void exitWithWarning( String warning, int code )
  {
    System.out.println( warning==null ? "" : warning );

    System.exit( code );
  }


  /*****************************************************************************
   *
   * d数入?br />   *
   ****************************************************************************/
  public final static void main( String[] args )
  {
    SingleInstance si=new SingleInstance( "error", ".txt", "error" );

    final JFrame frame=new JFrame( "Just single instance. By NeedJava. 2007.08.29" );

    //I stay here, to make some friends happy.
    frame.addWindowListener( new WindowAdapter()
    {
      public void windowClosing( WindowEvent we )
      {
        frame.dispose();

        System.exit( 0 );
      }
    } );

    frame.setBounds( 200, 200, 700, 70 );

    frame.setVisible( true );
  }
}



NeedJava 2007-08-29 22:11 发表评论
]]>
〔SQL〕根据值查找表和字D(转蝲Q?/title><link>http://www.aygfsteel.com/needjava/archive/2007/08/24/69814.html</link><dc:creator>NeedJava</dc:creator><author>NeedJava</author><pubDate>Thu, 23 Aug 2007 21:21:00 GMT</pubDate><guid>http://www.aygfsteel.com/needjava/archive/2007/08/24/69814.html</guid><wfw:comment>http://www.aygfsteel.com/needjava/comments/69814.html</wfw:comment><comments>http://www.aygfsteel.com/needjava/archive/2007/08/24/69814.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/needjava/comments/commentRss/69814.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/needjava/services/trackbacks/69814.html</trackback:ping><description><![CDATA[ <p> <font face="Courier New" color="#808080" size="2">-- 我知道一个值“White”,想知道它在哪个表里的哪个字段 </font> </p> <p> <br /> <font face="Courier New" color="#808080" size="2">-- 使用Northwind试<br />USE Northwind<br />GO </font> </p> <p> <font face="Courier New" color="#808080" size="2">DECLARE @what varchar(800)<br />SET @what='White'  --要搜索的字符?</font> </p> <p> <font face="Courier New" color="#808080" size="2">DECLARE @sql varchar(8000) </font> </p> <p> <font face="Courier New" color="#808080" size="2">DECLARE TableCursor CURSOR LOCAL FOR<br />SELECT sql='IF EXISTS ( SELECT 1 FROM ['+o.name+'] WHERE ['+c.name+'] LIKE </font> <a href="mailto:''%'+@what+'%''"> <font face="Courier New" color="#808080" size="2">''%'+@what+'%'' </font> </a> <font face="Courier New" color="#808080" size="2">) PRINT ''所在的表及字段Q['+o.name+'].['+c.name+']'''<br />FROM syscolumns c JOIN sysobjects o ON c.id=o.id <br />WHERE o.xtype='U' AND c.status>=0 AND c.xusertype IN (175, 239, 231, 167 ) </font> </p> <p> <font face="Courier New" color="#808080" size="2">OPEN TableCursor </font> </p> <p> <font face="Courier New" color="#808080" size="2">FETCH NEXT FROM TableCursor INTO @sql<br />WHILE @@FETCH_STATUS=0<br />  BEGIN<br />    EXEC( @sql )<br />    FETCH NEXT FROM TableCursor INTO @sql<br />  END </font> </p> <p> <font face="Courier New" color="#808080" size="2">CLOSE TableCursor </font> </p> <p> <font face="Courier New" color="#808080" size="2">-- 删除游标引用<br />DEALLOCATE TableCursor </font> </p> <p> <font face="Courier New" color="#808080" size="2"> </font> </p> <p> <font face="Courier New" color="#808080" size="2">-- 试l果<br />所在的表及字段Q[Orders].[ShipName]<br />所在的表及字段Q[Customers].[CompanyName] </font> </p> <p> <font face="Courier New" color="#808080" size="2"> </font> </p> <img src ="http://www.aygfsteel.com/needjava/aggbug/69814.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/needjava/" target="_blank">NeedJava</a> 2007-08-24 05:21 <a href="http://www.aygfsteel.com/needjava/archive/2007/08/24/69814.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>〔SQL〕要查询Begin与End字段都相同的记录Q出现次数在nơ以上的l果集(改写Q?/title><link>http://www.aygfsteel.com/needjava/archive/2007/08/24/69812.html</link><dc:creator>NeedJava</dc:creator><author>NeedJava</author><pubDate>Thu, 23 Aug 2007 21:20:00 GMT</pubDate><guid>http://www.aygfsteel.com/needjava/archive/2007/08/24/69812.html</guid><wfw:comment>http://www.aygfsteel.com/needjava/comments/69812.html</wfw:comment><comments>http://www.aygfsteel.com/needjava/archive/2007/08/24/69812.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/needjava/comments/commentRss/69812.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/needjava/services/trackbacks/69812.html</trackback:ping><description><![CDATA[ <font face="Courier New" color="#808080" size="2">要查询Begin与End字段都相同的记录Q出现次数在nơ以上的l果?br /><br />有一个数据库表,l构为:Q?个字D)<br />Begin 从 字W型<br />End 刊W字W型<br />Time 旉 旉?br /><br />数据Q?br />Begin End Time<br />111 222 2002-10-10<br />111 333 2002-10-11<br />111 444 2002-10-12<br />111 222 2002-10-13<br />111 222 2002-10-14<br />111 333 2002-10-15<br />222 111 2002-10-16<br />222 333 2002-10-17<br />222 555 2002-10-18<br />444 222 2002-10-19<br />444 222 2002-10-20<br />666 222 2002-10-21<br /><br />要查询Begin与End字段都相同的记录Q出现次数在nơ以上的l果?br /><br />n=2l果集ؓQ?br />Begin End Time<br />111 222 2002-10-10<br />111 333 2002-10-11<br />111 222 2002-10-13<br />111 222 2002-10-14<br />111 333 2002-10-15<br />444 222 2002-10-19<br />444 222 2002-10-20<br /><br />n=3l果集ؓQ?br />Begin End Time<br />111 222 2002-10-10<br />111 222 2002-10-13<br />111 222 2002-10-14<br /><br />不知q种情况的SQL语句如何写?<br />---------------------------------------------------------------<br />USE Northwind<br />GO<br /><br />IF EXISTS( SELECT * FROM dbo.sysobjects WHERE id=object_id( N'[Flight]' ) AND OBJECTPROPERTY( id, N'IsUserTable' )=1 )<br />DROP TABLE [Flight]<br />GO<br /><br />CREATE TABLE [Flight]<br />(<br />  [Begin] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL,<br />  [End] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL,<br />  [Time] [datetime] NULL <br />) ON [PRIMARY]<br />GO<br /><br />INSERT INTO [Flight]( [Begin], [End], [Time] ) VALUES( '111', '222', '2002-10-10' )<br />INSERT INTO [Flight]( [Begin], [End], [Time] ) VALUES( '111', '333', '2002-10-11' )<br />INSERT INTO [Flight]( [Begin], [End], [Time] ) VALUES( '111', '444', '2002-10-12' )<br />INSERT INTO [Flight]( [Begin], [End], [Time] ) VALUES( '111', '222', '2002-10-13' )<br />INSERT INTO [Flight]( [Begin], [End], [Time] ) VALUES( '111', '222', '2002-10-14' )<br />INSERT INTO [Flight]( [Begin], [End], [Time] ) VALUES( '111', '333', '2002-10-15' )<br />INSERT INTO [Flight]( [Begin], [End], [Time] ) VALUES( '222', '111', '2002-10-16' )<br />INSERT INTO [Flight]( [Begin], [End], [Time] ) VALUES( '222', '333', '2002-10-17' )<br />INSERT INTO [Flight]( [Begin], [End], [Time] ) VALUES( '222', '555', '2002-10-18' )<br />INSERT INTO [Flight]( [Begin], [End], [Time] ) VALUES( '444', '222', '2002-10-19' )<br />INSERT INTO [Flight]( [Begin], [End], [Time] ) VALUES( '444', '222', '2002-10-20' )<br />INSERT INTO [Flight]( [Begin], [End], [Time] ) VALUES( '666', '222', '2002-10-21' )<br />GO<br /><br />SELECT * FROM [Flight]<br />GO<br /><br /><br />-- Ҏ一<br /><br />DECLARE @n int  -- 出现ơ数<br />SET @n=2<br /><br />SELECT *<br />FROM [Flight] T1<br />WHERE ( SELECT COUNT(*)<br />        FROM [Flight] T2<br />        WHERE T2.[Begin]=T1.[Begin] AND T2.[End]=T1.[End] )>=@n<br />ORDER BY T1.[Begin], T1.[End], T1.[Time]<br /><br /><br /><br />-- Ҏ?br /><br />DECLARE @n int  -- 出现ơ数<br />SET @n=2<br /><br />SELECT *<br />FROM [Flight] T1<br />WHERE EXISTS ( SELECT 1<br />               FROM ( SELECT [Begin], [End]<br />                      FROM [Flight]<br />                      GROUP BY [Begin], [End]<br />                      HAVING COUNT(*)>=@n ) T2<br />               WHERE T2.[Begin]=T1.[Begin] AND T2.[End]=T1.[End] )<br />ORDER BY T1.[Begin], T1.[End], T1.[Time] </font> <img src ="http://www.aygfsteel.com/needjava/aggbug/69812.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/needjava/" target="_blank">NeedJava</a> 2007-08-24 05:20 <a href="http://www.aygfsteel.com/needjava/archive/2007/08/24/69812.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>〔批处理〕从数码相片得到照相旉http://www.aygfsteel.com/needjava/archive/2007/08/14/136768.htmlNeedJavaNeedJavaTue, 14 Aug 2007 11:42:00 GMThttp://www.aygfsteel.com/needjava/archive/2007/08/14/136768.htmlhttp://www.aygfsteel.com/needjava/comments/136768.htmlhttp://www.aygfsteel.com/needjava/archive/2007/08/14/136768.html#Feedback0http://www.aygfsteel.com/needjava/comments/commentRss/136768.htmlhttp://www.aygfsteel.com/needjava/services/trackbacks/136768.html @ECHO OFF

SETLOCAL EnableDelayedExpansion

DEL /F /Q picture.txt 2>NUL


::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
:: 原理Q?br />::
:: 一般情况下Q有EXIF信息的照片,会有三处旉Q当然还有特例)Q第一处格式ؓQ?br />::
:: 2001:01:01 02:04:18
::
:: W二、第三处是在一LQ中间有个NULL|如下Q?br />::
:: 2001:01:01 02:04:18[NULL]2001:01:01 02:04:18
::
:: 我通过WindowsXP和ACDSee8分析了很多张囄Q发现第一处的旉很可能有误,
::
:: 也就是说QWindowsXP和ACDSee8实际使用的应该是W二或第三处的时_
::
:: 使用W二处的旉?br />::
::
:: 注意Q?br />::
:: 1、有些h喜欢把一些秘密藏在图片中Q而秘密有可能包含旉Q所以,可能有问题,
::
::    不过Q这U情况好像很?
::
:: 2、由于FINDSTR.EXE命o的局限性(q真正的正则表辑ּQ,错误是难免的?br />::
::
:: 另外Q?br />::
:: 1、开始我?.jpeg也列入查找,但发?.jpe可以搜烦?.jpegQ只好剔?.jpeg?br />::
:: 2、我讨厌ACDSee8重命名时Q把2001-01-01 02-01-19Ҏ2001-01-01 2-1-19Q不好看Q?br />::
:: 3、其实我写这个的目的是修改囄名称为照相时_剩下的以后写
::
::
:: Author: NeedJava
::
:: Modified: 2007-08-15/2007-08-24/2007-08-25
::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
FOR /R %%a IN ( *.jpg *.jpe *.jfif *.tif ) DO (

   CLS

   ECHO 正在处理?%%a!?/font>

   SET "final=NULL"

   IF "!final!"=="NULL" (

      SET /A times=0

      FOR /F "delims=" %%i IN ( 'FINDSTR.EXE "200 199 201 202" "%%a" 2^>NUL ^| MORE 2^>NUL ^| FINDSTR.EXE /R "\<[1-2][0-9][0-9][0-9][:][0-1][0-9][:][0-3][0-9] [0-2][0-9][:][0-5][0-9][:][0-5][0-9]\>" 2^>NUL' ) DO (

          SET /A times+=1

          IF !times! EQU 2 (

             SET "parse=%%i"

             IF "!parse:~-3,1!"==":" IF "!parse:~-9,1!"==" " (

                SET "parse=!parse:~-19!"

                ECHO Found [!parse!]

                FOR /F "tokens=1,2,3,4,5,6 delims=: " %%A IN ( "!parse!" ) DO (

                    SET "final=%%A-%%B-%%C %%D-%%E-%%F"

                )

             )

          )

      )

   )

   IF "!final!"=="NULL" (

      FOR /F "delims=" %%i IN ( 'FINDSTR.EXE /I "DateTimeOriginal" "%%a" 2^>NUL' ) DO (

          SET "parse=%%i"

          IF /I "!parse:~-24,7!"=="</exif:" IF "!parse:~-30,1!"=="+" (

             SET "parse=!parse:~-49,19!"

             ECHO Found [!parse!]

             FOR /F "tokens=1,2,3,4,5,6 delims=-:T" %%A IN ( "!parse!" ) DO (

                 SET "final=%%A-%%B-%%C %%D-%%E-%%F"

             )

          )

      )

   )

   IF NOT "!final!"=="NULL" (

      ECHO Parse [!final!]

      ECHO [%%~nxa]>>picture.txt

      ECHO !final!>>picture.txt

      ECHO;>>picture.txt

   )

)

GOTO :EOF

@ECHO ON

剩下的就是改名了Q由于要防备同名Q也是一U内拍了两三张这L情况Q所以需要追加数字序?br /> 



NeedJava 2007-08-14 19:42 发表评论
]]>
〔批处理〕得到回收站删除的文件列?/title><link>http://www.aygfsteel.com/needjava/archive/2007/08/13/136411.html</link><dc:creator>NeedJava</dc:creator><author>NeedJava</author><pubDate>Mon, 13 Aug 2007 07:55:00 GMT</pubDate><guid>http://www.aygfsteel.com/needjava/archive/2007/08/13/136411.html</guid><wfw:comment>http://www.aygfsteel.com/needjava/comments/136411.html</wfw:comment><comments>http://www.aygfsteel.com/needjava/archive/2007/08/13/136411.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/needjava/comments/commentRss/136411.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/needjava/services/trackbacks/136411.html</trackback:ping><description><![CDATA[ <p> <font face="Courier New" color="#808080" size="2">@ECHO OFF</font> </p> <p> <font face="Courier New" color="#808080" size="2">SETLOCAL EnableDelayedExpansion</font> </p> <p> <br /> <font face="Courier New" color="#808080" size="2">::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />::<br />:: 需要区别FAT32和NTFS格式下的回收?br />::<br />:: FAT32回收站结构如下:<br />::<br />:: [Recycled]<br />:: desktop.ini<br />:: INFO2<br />::<br />:: NTFS回收站结构如下:<br />::<br />:: [Recycler]<br />::   [S-1-5-21-1409082233-448539723-725345543-500]<br />::     desktop.ini<br />::     INFO2<br />::   [S-1-5-21-1844237615-2139871995-1417001333-500]<br />::     desktop.ini<br />::     INFO2<br />::   [S-1-5-21-606747145-261478967-839522115-500]<br />::     desktop.ini<br />::     INFO2<br />::<br />:: 其中Q?br />::<br />:: desktop.ini用来定义文g夹,告诉pȝQ你把存我的文g夹变成回收站的样?br />::<br />:: INFO2用来存放当前盘符下删除的文g的原来\径,?.3短文件名Q以及与改名文g对应关系<br />::<br />:: 我们是用的INFO2文gQ将里面存放的信息通过两次查找qo出来<br />::<br />:: 重点Q?br />::<br />:: FIND.EXE ":" "C:\Recycled\INFO2" 2>NUL | FINDSTR.EXE /R "^[A-z]:[\\]" 2>NUL<br />::<br />:: 参考:<br />::<br />:: </font> <a > <font face="Courier New" color="#808080" size="2">http://www.cn-dos.net/forum/viewthread.php?tid=25053&fpage=1&highlight=tokens%3D1%2B&page=1</font> </a> <br /> <font face="Courier New" color="#808080" size="2">::<br />:: 感谢Q?br />::<br />:: 中国DOS联盟论坛里所有给予我启发的热心hQ我受益匪!<br />::<br />:: Author: NeedJava<br />::<br />:: Modified: 2007.08.13<br />::<br />:: BTW: 今晚23时东北方向有׃座流星雨Q我已经调好照相Z<br />::<br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />DEL /F /Q deleted.txt 2>NUL</font> </p> <p> <font face="Courier New" color="#808080" size="2">FOR %%a IN ( C D E F G H I J K L M N O P Q R S T U V Y X Y Z ) DO (</font> </p> <p> <font face="Courier New" color="#808080" size="2">    IF EXIST "%%a:\" (</font> </p> <p> <font face="Courier New" color="#808080" size="2">       ECHO 正在搜烦?%a:〕盘下的回收站…?/font> </p> <p> <font face="Courier New" color="#808080" size="2">       FOR /F "delims=" %%i IN ( 'DIR /AH-D /B /S "%%a:\Recycler\INFO2" 2^>NUL' ) DO (</font> </p> <p> <font face="Courier New" color="#808080" size="2">REM        ECHO [%%i] & PAUSE</font> </p> <p> <font face="Courier New" color="#808080" size="2">           CALL :parse %%i</font> </p> <p> <font face="Courier New" color="#808080" size="2">       )</font> </p> <p> <font face="Courier New" color="#808080" size="2">       FOR /F "delims=" %%I IN ( 'DIR /AH-D /B /S "%%a:\Recycled\INFO2" 2^>NUL' ) DO (</font> </p> <p> <font face="Courier New" color="#808080" size="2">REM        ECHO [%%I] & PAUSE</font> </p> <p> <font face="Courier New" color="#808080" size="2">           CALL :parse %%I</font> </p> <p> <font face="Courier New" color="#808080" size="2">       )</font> </p> <p> <font face="Courier New" color="#808080" size="2">    )</font> </p> <p> <font face="Courier New" color="#808080" size="2">)</font> </p> <p> <font face="Courier New" color="#808080" size="2">@ECHO ON</font> </p> <p> <font face="Courier New" color="#808080" size="2">GOTO :EOF</font> </p> <p> <br /> <font face="Courier New" color="#808080" size="2">::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />::<br />:: 重点Q?br />::<br />:: FIND.EXE ":" "C:\Recycled\INFO2" 2>NUL | FINDSTR.EXE /R "^[A-z]:[\\]" 2>NUL<br />::<br />:: 详细解释请关注上面的|站Q无奈何版主的叙qͼ呵呵Q本人坐板凳?br />::<br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />:parse</font> </p> <p> <font face="Courier New" color="#808080" size="2">ECHO [%1]>>deleted.txt</font> </p> <p> <font face="Courier New" color="#808080" size="2">FOR /F "delims=" %%m IN ( 'FIND.EXE ":" "%1" 2^>NUL ^| FINDSTR.EXE /R "^[A-z]:[\\]" 2^>NUL' ) DO (</font> </p> <p> <font face="Courier New" color="#808080" size="2">    ECHO %%m>>deleted.txt</font> </p> <p> <font face="Courier New" color="#808080" size="2">)</font> </p> <p> <font face="Courier New" color="#808080" size="2">ECHO.>>deleted.txt</font> </p> <p> <font face="Courier New" color="#808080" size="2"> </font> </p> <p> <font face="Courier New"> <font color="#808080"> <font size="2">后记Q鉴于很多病毒喜Ƣ往回收站里面钻Q通过查找真正被删除的文g列表Q找到对应的删除文gQ那么剩下的文g可以看着办了Q估计先要用IS杀掉进E?/font> <br /> <font size="2"> </font> </font> </font> </p> <img src ="http://www.aygfsteel.com/needjava/aggbug/136411.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/needjava/" target="_blank">NeedJava</a> 2007-08-13 15:55 <a href="http://www.aygfsteel.com/needjava/archive/2007/08/13/136411.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank">ͭɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ȫ</a>| <a href="http://" target="_blank">Ӱ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ǧɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank">ղ</a>| <a href="http://" target="_blank">̫</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˼é</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">żҴ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ױ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">̨</a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">«Ϫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʡ</a>| <a href="http://" target="_blank">Ѱ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>