JAVA文件下载

来源:互联网 发布:大数据分析是什么 编辑:程序博客网 时间:2024/05/17 22:38
mport java.net.URL;public class DownloadFile{public static void main(String[] args){String url="http://zhidao.baidu.com/topic/baoyu/index.html";Download download=new Download(url);download.downloadBinaryFile();}}class Download{private String url;public Download(String url){this.url=url;}public void downloadBinaryFile(){OutputStream out=null;InputStream ins=null;try {URL fileUrl=new URL(url);HttpURLConnection httpConnect=(HttpURLConnection)fileUrl.openConnection();httpConnect.connect();if(httpConnect.getResponseCode()==HttpURLConnection.HTTP_OK){ ins=httpConnect.getInputStream();long size=httpConnect.getContentLength();String[] names=fileUrl.getFile().split("/");String name=names[names.length-1];File dir=new File("d:/");if(!dir.isDirectory()){dir.mkdir();}File file=new File(dir.getPath()+"/"+name);if(file.exists()){System.out.println("file is exists");return ;}else{file.createNewFile(); out=new FileOutputStream(file);while(file.length()!=size){byte[] buf=new byte[1024];int count=0;while((count=ins.read(buf))!=-1){out.write(buf,0,count);}}System.out.println("download success");}}} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}finally{try {if(ins!=null)ins.close();} catch (IOException e1) {e1.printStackTrace();}try {if(out!=null)out.close();} catch (IOException e) {e.printStackTrace();}}}}