www.pudn.com > htmlsaver.rar > AutoSaveURL.java


import java.net.*; 
import java.io.*; 
 
public class AutoSaveURL 
{ 
  DownloadProject downPrj; 
   
  public AutoSaveURL(DownloadProject downPrj) 
  { 
    this.downPrj = downPrj; 
    for (int i = 0; i < 5; i++) 
      if (!downloadMore()) 
        break; 
  } 
   
  public boolean downloadMore() 
  { 
    if (downPrj.isOver) 
      return false; 
    int row = -1; 
    synchronized (downPrj.down) 
    { 
      for (int i = 0; i < downPrj.down.length; i++) 
        if (!downPrj.down[i] && !((URLName)downPrj.names[i]).finish) 
        { 
          downPrj.down[i] = true; 
          row = i; 
          break; 
        } 
    } 
    if (row == -1) 
      return false; 
     
    new AutoSaveURLThread(this, row).start(); 
    downPrj.refresh(); 
    return true; 
  } 
   
  public synchronized void finish(int row, boolean f) 
  { 
    synchronized (downPrj.down) 
    { 
      downPrj.down[row] = false; 
      ((URLName)downPrj.names[row]).finish = f; 
    } 
    downPrj.refresh(); 
    downloadMore(); 
  } 
}