java 程序下载文件_一个java实现的简单文件下载程序

import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; public class ReadInternetFile {     public ReadInternetFile()     {         // TODO Auto-generated constructor stub     }     public URL getUrl()     {         return this.url;     }     public void setUrl() throws MalformedURLException     {         String url = null;         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));         try         {             url = br.readLine();             this.url = new URL(url);          }         catch (IOException e)         {             e.printStackTrace();         }     }     public void setFileSaveName(URL url)     {         String file = url.getFile();         this.fileName = file.substring(file.lastIndexOf("/") + 1);     }     private String getFileName()     {          return this.fileName;     }     private URL url = null;     private static final String fileSavePath = "E:\\myftp\\download\\";     private String fileName = null;          public static void main(String []args)     {         Long start = System.currentTimeMillis();         System.out.println("please input the url of the file:");         ReadInternetFile fileReader = new ReadInternetFile();         try         {             fileReader.setUrl();             URL fileUrl = fileReader.getUrl();             fileReader.setFileSaveName(fileUrl);                          HttpURLConnection conn = (HttpURLConnection)fileUrl.openConnection();             conn.setConnectTimeout(5000);             DataInputStream din = new DataInputStream(conn.getInputStream());             String savedFileName = fileReader.getFileName();             DataOutputStream dout = new DataOutputStream(new FileOutputStream(fileSavePath + savedFileName));                          BufferedInputStream bin = new BufferedInputStream(din,4096);             BufferedOutputStream bout = new BufferedOutputStream(dout);             byte [] buffer = new byte[4*1024];             int count = 0;             while ((count = bin.read(buffer)) > 0)             {                 //如果使用bout.write(buffer)方法图片会失真,而且下载的速度快慢与否与网络环境有很大的关系, //                dout.write(buffer, 0, count);                 bout.write(buffer,0,count);             }             bout.close();             bin.close();             conn.disconnect();             System.out.println("file " + savedFileName + " successfully downloaded !");             System.out.println("Time used:" + (System.currentTimeMillis() - start));         }         catch (MalformedURLException e)         {             e.printStackTrace();         }         catch (IOException e)         {             e.printStackTrace();         }     }     }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值