首頁 类库下载 java类库 java取得遠端網路圖片檔案流、壓縮儲存到本地

java取得遠端網路圖片檔案流、壓縮儲存到本地

Nov 21, 2016 am 11:14 AM
java

java取得遠端網路圖片檔案流、壓縮儲存到本機

1.取得遠端網路路徑的圖片

     /**
 * 根据地址获得数据的字节流
 *
 * @param strUrl
 *            网络连接地址
 * @return
 */
public static byte[] getImageFromNetByUrl(String strUrl) {
    try {
        URL url = new URL(strUrl);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("GET");
        conn.setConnectTimeout(5 * 1000);
        InputStream inStream = conn.getInputStream();// 通过输入流获取图片数据
        byte[] btImg = readInputStream(inStream);// 得到图片的二进制数据
        return btImg;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}
登入後複製
 /**
 * 根据地址获得数据的字节流
 *
 * @param strUrl
 *            本地连接地址
 * @return
 */
public static byte[] getImageFromLocalByUrl(String strUrl) {
    try {
        File imageFile = new File(strUrl);
        InputStream inStream = new FileInputStream(imageFile);
        byte[] btImg = readInputStream(inStream);// 得到图片的二进制数据
        return btImg;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}
登入後複製
   /**
 * 从输入流中获取数据
 *
 * @param inStream
 *            输入流
 * @return
 * @throws Exception
 */
public static byte[] readInputStream(InputStream inStream) throws Exception {
    ByteArrayOutputStream outStream = new ByteArrayOutputStream();
    byte[] buffer = new byte[10240];
    int len = 0;
    while ((len = inStream.read(buffer)) != -1) {
        outStream.write(buffer, 0, len);
    }
    inStream.close();
    return outStream.toByteArray();
}  
登入後複製

2.將網路讀取的檔案流轉成本地檔案

       byte[] btImg1 = ImageUtil.getImageFromNetByUrl(fileUrl1);
if (null != btImg1 && btImg1.length > 0) {
    logger.debug("读取到:" + btImg1.length + " 字节");
    ImageUtil.writeImageToDisk(btImg1, fileZipUrl1);
} else {
    logger.debug("没有从该连接获得内容");
}
 
byte[] btImg2 = ImageUtil.getImageFromNetByUrl(fileUrl2);
if (null != btImg2 && btImg2.length > 0) {
    logger.debug("读取到:" + btImg2.length + " 字节");
    ImageUtil.writeImageToDisk(btImg2, fileZipUrl2);
} else {
    logger.debug("没有从该连接获得内容");
}
登入後複製
/**
 * 将图片写入到磁盘
 *
 * @param img
 *            图片数据流
 * @param fileName
 *            文件保存时的名称
 */
public static void writeImageToDisk(byte[] img, String zipImageUrl) {
    try {
        File file = new File(zipImageUrl);
        FileOutputStream fops = new FileOutputStream(file);
        fops.write(img);
        fops.flush();
        fops.close();
        System.out.println("图片已经写入"+zipImageUrl);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
登入後複製

3、壓縮本地圖片

reeerree ~

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
兩個點博物館:所有展覽以及在哪裡可以找到它們
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
兩個點博物館:所有展覽以及在哪裡可以找到它們
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Java 中的平方根 Java 中的平方根 Aug 30, 2024 pm 04:26 PM

Java 中的平方根

Java 中的完美數 Java 中的完美數 Aug 30, 2024 pm 04:28 PM

Java 中的完美數

Java 中的隨機數產生器 Java 中的隨機數產生器 Aug 30, 2024 pm 04:27 PM

Java 中的隨機數產生器

Java 中的阿姆斯壯數 Java 中的阿姆斯壯數 Aug 30, 2024 pm 04:26 PM

Java 中的阿姆斯壯數

Java中的Weka Java中的Weka Aug 30, 2024 pm 04:28 PM

Java中的Weka

Java Spring 面試題 Java Spring 面試題 Aug 30, 2024 pm 04:29 PM

Java Spring 面試題

突破或從Java 8流返回? 突破或從Java 8流返回? Feb 07, 2025 pm 12:09 PM

突破或從Java 8流返回?

Java 中的史密斯數 Java 中的史密斯數 Aug 30, 2024 pm 04:28 PM

Java 中的史密斯數

See all articles