⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 downloader.java

📁 提供给大家共享啊,可以参考一下,如果说有更好的可以给我发一下了
💻 JAVA
字号:
///////    Downloader.java    ///////
import java.io.*;
import java.net.*;
import java.util.StringTokenizer;

public class Downloader
{  public Downloader(String url)
   { try
     {  URL urlobj = new URL(url);
        String file = simpleFilename(urlobj.getFile());
        ser = urlobj.openConnection();
	ser.connect();
        if ( file == null )
        {   file = ser.getContentType();
            file = "download." + file.replace('/','-');
        }
        fileobj = new File(file);
        out = new FileOutputStream(fileobj);
        fileCreated = true;
     }  catch (MalformedURLException e) { System.out.println(e); }
        catch (IOException e) { System.out.println(e); }
   }

   protected Downloader() {}

   public boolean isReady()
   { return (ser != null && out != null); }

   public boolean isDone()
   { return done; }

   public String filename() { return fileobj.getName(); }

   String simpleFilename(String s)
   {   String a = null;
       StringTokenizer t = new StringTokenizer(s,"/");
       while ( t.hasMoreTokens() )
             a = t.nextToken();
       return a;
   }

   public void download()
   { if ( ! isReady() ) return;
     try
     {  InputStream in = ser.getInputStream();
        int c;
        while ( (c = in.read()) > -1 )
              out.write(c);
        in.close();
        out.close();
        done = true;
     }  catch (IOException e) { System.out.println(e); }
   }

   protected File fileobj = null;
   protected URLConnection ser = null;
   protected OutputStream out = null;
   protected boolean fileCreated = false;
   protected boolean done = false;

   public void finalize()
   {  if ( ! done && fileCreated )
          fileobj.delete();
   }

   public static void main(String[] args)
   { if ( args.length != 1 )
     {   System.out.println("Usage: " +
              "java Downloader URL");
         System.exit(1);
     }
     Downloader d = new Downloader(args[0]);
     if ( ! d.isReady() ) 
     {   System.out.println("Downloader failed");
         d.finalize();
         return;
     }
     d.download();
     if ( d.isDone() )
        System.out.println("Downloaded file: "
            + d.filename());
     else 
        System.out.println("Downloader failed.");
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -