zoukankan      html  css  js  c++  java
  • Java-downloadFileByLink

    import java.io.BufferedInputStream;
    import java.io.BufferedReader;
    import java.io.ByteArrayOutputStream;
    import java.io.DataOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.OutputStreamWriter;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.net.URLConnection;
    import java.util.Iterator;
    import java.util.Map;
    
    public class myDown {
    /**
    	 * 从网络Url中下载文件
    	 * @param urlStr
    	 * @param fileName
    	 * @param savePath
    	 * @throws IOException
    	 */
    	public static void  downLoadFromUrl(String urlStr,String fileName,String savePath) throws IOException{
    		URL url = new URL(urlStr);  
    		HttpURLConnection conn = (HttpURLConnection)url.openConnection();  
                    //设置超时间为3秒
    		conn.setConnectTimeout(3*1000);
    		//防止屏蔽程序抓取而返回403错误
    		conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
    
    		//得到输入流
    		InputStream inputStream = conn.getInputStream();  
    		//获取自己数组
    		byte[] getData = readInputStream(inputStream);    
    
    		//文件保存位置
    		File saveDir = new File(savePath);
    		if(!saveDir.exists()){
    			saveDir.mkdir();
    		}
    		File file = new File(saveDir+File.separator+fileName);    
    		FileOutputStream fos = new FileOutputStream(file);     
    		fos.write(getData); 
    		if(fos!=null){
    			fos.close();  
    		}
    		if(inputStream!=null){
    			inputStream.close();
    		}
    
    
    		System.out.println("info:"+url+" download success"); 
    
    	}
    
    
    
    	/**
    	 * 从输入流中获取字节数组
    	 * @param inputStream
    	 * @return
    	 * @throws IOException
    	 */
    	public static  byte[] readInputStream(InputStream inputStream) throws IOException {  
    		byte[] buffer = new byte[1024];  
    		int len = 0;  
    		ByteArrayOutputStream bos = new ByteArrayOutputStream();  
    		while((len = inputStream.read(buffer)) != -1) {  
    			bos.write(buffer, 0, len);  
    		}  
    		bos.close();  
    		return bos.toByteArray();  
    	}  
    
    	public static void main(String[] args) {
    		try{
    			downLoadFromUrl("https://pubs.broadinstitute.org/diabimmune/data/5/G80287_read_counts.txt","G80287_read_counts.txt","C:/Users/dell/Desktop");
    		}catch (Exception e) {
    			// TODO: handle exception
    		}
    	}
    	}
    

      

  • 相关阅读:
    CentOS + java
    在 Centos7 用Jexus服务器 运行.Net Core 只需几部
    dotnet core 开发中遇到的问题
    Scratch3.0设计的插件系统(上篇)
    ASP.NET的编译原理
    搭建git服务器
    ubuntu安装Pillow
    MIT线性代数课程总结与理解-第三部分
    关于在ubuntu系统下显卡为goforce1060安装tensorflow(gpu)
    关于Clion中添加makefile相关参数
  • 原文地址:https://www.cnblogs.com/pxy7896/p/6616893.html
Copyright © 2011-2022 走看看