• Java从网络读取图片并保存至本地


     1 package cn.cctv.NET;  
     2 import java.io.ByteArrayOutputStream;  
     3 import java.io.File;  
     4 import java.io.FileOutputStream;  
     5 import java.io.InputStream;  
     6 import java.net.HttpURLConnection;  
     7 import java.Net.URL;  
     8 public class ImageRequest {  
     9     /** 
    10      * @param args 
    11      */  
    12     public static void main(String[] args) throws Exception {  
    13         //new一个URL对象  
    14         URL url = new URL("http://img.hexun.com/2011-06-21/130726386.jpg");  
    15         //打开链接  
    16         HttpURLConnection conn = (HttpURLConnection)url.openConnection();  
    17         //设置请求方式为"GET"  
    18         conn.setRequestMethod("GET");  
    19         //超时响应时间为5秒  
    20         conn.setConnectTimeout(5 * 1000);  
    21         //通过输入流获取图片数据  
    22         InputStream inStream = conn.getInputStream();  
    23         //得到图片的二进制数据,以二进制封装得到数据,具有通用性  
    24         byte[] data = readInputStream(inStream);  
    25         //new一个文件对象用来保存图片,默认保存当前工程根目录  
    26         File imageFile = new File("BeautyGirl.jpg");  
    27         //创建输出流  
    28         FileOutputStream outStream = new FileOutputStream(imageFile);  
    29         //写入数据  
    30         outStream.write(data);  
    31         //关闭输出流  
    32         outStream.close();  
    33     }  
    34     public static byte[] readInputStream(InputStream inStream) throws Exception{  
    35         ByteArrayOutputStream outStream = new ByteArrayOutputStream();  
    36         //创建一个Buffer字符串  
    37         byte[] buffer = new byte[1024];  
    38         //每次读取的字符串长度,如果为-1,代表全部读取完毕  
    39         int len = 0;  
    40         //使用一个输入流从buffer里把数据读取出来  
    41         while( (len=inStream.read(buffer)) != -1 ){  
    42             //用输出流往buffer里写入数据,中间参数代表从哪个位置开始读,len代表读取的长度  
    43             outStream.write(buffer, 0, len);  
    44         }  
    45         //关闭输入流  
    46         inStream.close();  
    47         //把outStream里的数据写入内存  
    48         return outStream.toByteArray();  
    49     }  
    50 }  
  • 相关阅读:
    【JMeter】JMeter使用plugins插件进行服务器性能监控
    【Python】不定期更新学习小问题整理
    【Python】linux安装tornado
    【Python】使用python的tornado配合html页面示例
    pip Fatal error in launcher: Unable to create process using '""'
    利用Python处理向不受信任主机发送请求
    Jmeter(十三) JDBC Request
    Django测试环境环境配置
    python接口测试之mock(三)
    python接口测试之mock(二)
  • 原文地址:https://www.cnblogs.com/faunjoe88/p/7478010.html
Copyright © 2020-2023  润新知