下載文件工具類

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

public class FilesUtil {

/**
 * 從網絡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)");
    conn.setRequestMethod("GET");
    conn.setConnectTimeout(5000);
    conn.setReadTimeout(5000);
    conn.connect();
    int code=conn.getResponseCode();
    if(code==200){
        //得到輸入流
        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[1000000];  
    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://www.baidu.com/link?url=43hFnnxpGyg-_QNB1yk5gI09RQHvC44WRYIl5V0vmb5-DfsxjEM_90McVKbSpvSuy8ZBFIFnZ08vSf0pvbEhYtaBK9ZcNaHQ51I4K56dflwhW7MW9Y0Rdj_uc_fwncwTc5e-g-wzYd6K8qvjIAzlgZIz0obDofXblijEpzLGhixSbr1KLiqIZx1RluknCZFNEehEL37ulURPWfC6qdvHWtOiQIF5VNaN7OuDbMW4qRCSrF3WDKHYOQlcQSa8QrEK5lmU9pQntQ4mdtLXZE5DuGo34pJhMIp7GNSAL_052ac3emzqu8BDxdFPFySm1veIqs2qsA5YMDn2LqYg8UsHqQlmByRRk29dY6er-h28ULLInaCOqoE2fq3GWSVGboXo0plfeQu4GMqe6hykR_qLSUgL8XpjpP1OY7bi_W8dTgjR4hFG4TbyfmY0f1TVWQ7Gq8JBqUYXlUcZJ1fKOmz97TlLbRLLjHhU4p1aHaicNod8dU8x4HUvzvxa1sQbP8N4yuKlJIu6x2qWU3MAWm9PJcZyG38Q6OpicdxZKRUQ4P2OewTNM_LDQFSkNJthvE2Nte5rlVDfe2T_rDwmc1eyGv290dGWU4XJ1uRMD7sOlGRyU2a14LEIvhkkNQNDQ3keYeJTh7R8Tv0stX5CGN_lXpRpjkQnzqo8mU7NyhTf8Ga&timg=&click_t=1554394992622&s_info=1349_637&wd=&eqid=9c465c9800003af2000000035ca56810",
                "5000.jpg","d:/resource/images/diaodiao/country/");
    }catch (Exception e) {
        // TODO: handle exception
    }
}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章