• 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
    		}
    	}
    	}
    

      

  • 相关阅读:
    学习笔记9
    学习笔记8
    学习笔记7
    学习笔记6
    学习笔记5
    学习笔记4
    学习笔记3
    学习笔记2
    学习笔记1
    矩形覆盖
  • 原文地址:https://www.cnblogs.com/pxy7896/p/6616893.html
Copyright © 2020-2023  润新知