zoukankan      html  css  js  c++  java
  • java通过url读取网络图片

    使用java.net读取网络文件

    import java.io.BufferedInputStream;  
     import java.io.FileOutputStream;  
     import java.io.IOException;  
     import java.net.HttpURLConnection;  
     import java.net.URL;  
      
     public class downimage {  
      
     public void saveToFile(String destUrl) {  
     FileOutputStream fos = null;  
     BufferedInputStream bis = null;  
     HttpURLConnection httpUrl = null;  
     URL url = null;  
     int BUFFER_SIZE = 1024;  
     byte[] buf = new byte[BUFFER_SIZE];  
     int size = 0;  
     try {  
     url = new URL(destUrl);  
     httpUrl = (HttpURLConnection) url.openConnection();  
     httpUrl.connect();  
     bis = new BufferedInputStream(httpUrl.getInputStream());  
     fos = new FileOutputStream("c:\haha.gif");  
     while ((size = bis.read(buf)) != -1) {  
     fos.write(buf, 0, size);  
     }  
     fos.flush();  
     } catch (IOException e) {  
     } catch (ClassCastException e) {  
     } finally {  
     try {  
     fos.close();  
     bis.close();  
     httpUrl.disconnect();  
     } catch (IOException e) {  
     } catch (NullPointerException e) {  
     }  
     }  
     }  
     public static void main(String[] args) {  
     // TODO Auto-generated method stub  
      
     downimage dw=new downimage();  
     dw.saveToFile("http://10.81.36.193:8081/png.png");  
     }  
     }  

    注意:

      如果路径或者源文件名称中包含特殊符号或者空格,会报505错误,此时需要对URL进行转码

      

      ftpUrl=ftpUrl.replaceAll("%", "%25");//先将地址本身带有的%转为%25
      ftpUrl=ftpUrl.replaceAll(" ", "%20");//再将空格转换为%20

    转码之后读取正常。
  • 相关阅读:
    c#隐藏和重写基类方法的区别
    c#事件(续委托之后)
    c# 中接口和抽象类的区别
    call 和apply 的一个记录
    string 和 stringbuilder 的区别
    传值和传引用
    值类型和引用类型
    标签选择器与字体连写
    input表单案例
    codeforces 676B B. Pyramid of Glasses(模拟)
  • 原文地址:https://www.cnblogs.com/luxd/p/7306302.html
Copyright © 2011-2022 走看看