首页 > 编程语言 >Java从网络读取图片并保存至本地

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

时间:2024-12-27 22:44:43浏览次数:5  
标签:java 读取 io outStream new ------------- 本地 import Java

Java从网络读取图片并保存至本地| Id | Title | DateAdded | SourceUrl | PostType | Body | BlogId | Description | DateUpdated | IsMarkdown | EntryName | CreatedTime | IsActive | AutoDesc | AccessPermission |

| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------|
| 14397029| Java从网络读取图片并保存至本地| 2021-02-10T23:38:00| | BlogPost|

package getUrlPic;

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

public class GetUrlPic {
    public static void main(String[] args) throws Exception {  
        //new一个URL对象  
        URL url = new URL("http://www.gz135.cn/data/attachment/forum/201702/13/165605xyayykq5vy4h81vy.jpg");  
        //打开链接  
        HttpURLConnection conn = (HttpURLConnection)url.openConnection();  
        //设置请求方式为"GET"  
        conn.setRequestMethod("GET");  
        //超时响应时间为5秒  
        conn.setConnectTimeout(5 * 1000);  
        //通过输入流获取图片数据  
        InputStream inStream = conn.getInputStream();  
        //得到图片的二进制数据,以二进制封装得到数据,具有通用性  
        byte[] data = readInputStream(inStream);  
        //new一个文件对象用来保存图片,默认保存当前工程根目录  
        File imageFile = new File("pic20170419.jpg");  
        //创建输出流  
        FileOutputStream outStream = new FileOutputStream(imageFile);  
        //写入数据  
        outStream.write(data);  
        //关闭输出流  
        outStream.close();  
    }  
    public static byte[] readInputStream(InputStream inStream) throws Exception{  
        ByteArrayOutputStream outStream = new ByteArrayOutputStream();  
        //创建一个Buffer字符串  
        byte[] buffer = new byte[1024];  
        //每次读取的字符串长度,如果为-1,代表全部读取完毕  
        int len = 0;  
        //使用一个输入流从buffer里把数据读取出来  
        while( (len=inStream.read(buffer)) != -1 ){  
            //用输出流往buffer里写入数据,中间参数代表从哪个位置开始读,len代表读取的长度  
            outStream.write(buffer, 0, len);  
        }  
        //关闭输入流  
        inStream.close();  
        //把outStream里的数据写入内存  
        return outStream.toByteArray();  
    }  

}

 

| 648658| | 2024-04-29T21:14:00| false| | 2021-02-10T23:38:28.293| true| package getUrlPic; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java| Anonymous|

标签:java,读取,io,outStream,new,-------------,本地,import,Java
From: https://www.cnblogs.com/ralphlauren/p/18621223

相关文章

  • java获取本月开始时间和结束时间、上个月第一天和最后一天的时间以及当前日期往前推一
    java获取本月开始时间和结束时间、上个月第一天和最后一天的时间以及当前日期往前推一周、一个月|Id|Title|DateAdded|SourceUrl|PostType|Body|BlogId|Description|DateUpdated|IsMarkdown|EntryName|CreatedTime|IsActive|AutoDesc|AccessPermissi......
  • java获取当前年份、月份和日期
    java获取当前年份、月份和日期|Id|Title|DateAdded|SourceUrl|PostType|Body|BlogId|Description|DateUpdated|IsMarkdown|EntryName|CreatedTime|IsActive|AutoDesc|AccessPermission||-------------|-------------|-------------|----------......
  • Java面试突击手册,一周刷完这300道面试题,你也可以当架构师!
      前言面对今年的大环境而言,跳槽成功的难度比往年高了很多,很明显的感受就是:对于今年的java开发朋友跳槽面试,无论一面还是二面,都开始考验一个Java程序员的技术功底和基础。对源码解读和核心原理理解也是成了加分项,特别是对Java的一些核心基础知识点掌握的不够或者没有体系......
  • Java 中 Exception 和 Error 有什么区别?
    在Java的世界里,Exception和Error就像是两个性格迥异的双胞胎兄弟,虽然他们都代表着“出了问题”,但处理方式和对程序的影响可大不一样哦!Exception(异常)Exception就像是你在做作业时遇到的一道难题。虽然它让你卡壳了,但只要你找到正确的方法或者找人帮忙(比如查资料、问老师),你还是......
  • 想在 Java 八股文面试中脱颖而出?这1000 道互联网大厂 工程师面试题必不可少
     国内的互联网面试,恐怕是现存的、最接近科举考试的制度。以美国为例,北美工程师面试比较重视算法(Coding),近几年也会加入Design轮(系统设计和面向对象设计OOD)和BQ轮(Behavioralquestion,行为面试问题)。那么为什么国内面试不采取这样的考察方式呢?简单来说,互联网IT行业的求......
  • 《面试八股文》之2024年GitHub中文社区Java 领域又一份牛逼笔记
        今天讲讲跳槽。新年即将开启,一些不满现状,被外界的“高薪”“好福利”吸引的人,一般就在这时候毅然决然地跳槽了。跳槽是为了寻求更好的发展,但在跳槽前我们也不能确定下家就是更好的归宿,这就更加需要我们审慎地去对待,不能盲目跳槽。其次,我们离职和跳槽,其中的原因很大......
  • Java方法链调用以及在JVM和安卓DalvikVM下的区别
    目录方法链字节码与Smali下的编译结果总结方法链方法链(MethodChaining),也被称为命名参数法,是在面向对象的编程语言中调用的调用多个方法的通用语法。每一个方法返回一个对象,在一个单一的声明里,方法链省去了中间变量的需要。当需要构建一个对象或者设置其初始属性时,往往通过......
  • lpksetup.exe与 语言包安装 和 本地化设置 相关,主要用于帮助用户添加或删除 Windows
    lpksetup.exe是Windows操作系统中的一个可执行文件,位于C:\Windows\System32目录下。它与语言包安装和本地化设置相关,主要用于帮助用户添加或删除Windows操作系统的语言包。以下是对lpksetup.exe的详细介绍:1. 功能lpksetup.exe主要用于管理Windows操作系统的语......
  • 基于java的SpringBoot/SSM+Vue+uniapp的员工日志管理信息系统的详细设计和实现(源码+l
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • 【Java毕业设计】基于SpringBoot+Vue的社区维修平台
    源码获取:https://download.csdn.net/download/u011832806/89432062基于SpringBoot+Vue的社区维修平台开发语言:Java数据库:MySQL技术:SpringBoot+MyBatis+Vue.js工具:IDEA/Ecilpse、Navicat、Maven系统演示视频:链接:https://pan.baidu.com/s/1PcACXotF1Z3-elv1RWDZ4w?pwd=xs......