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

转码之后读取正常。

 

posted @   对我有点小自信  阅读(35325)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示