zl程序教程

您现在的位置是:首页 >  后端

当前栏目

JAVA用http协议GET方法从服务器获取图片保存到本地详解编程语言

2023-06-13 09:20:41 时间

InputStream : 从服务器返回一个image的输入流。

FileOutputStream : 将image输入流写到本地磁盘。

注:

1.客户端:使用eclipse , 建立一个java project : java_http_get ,  /src/HttpUtils.java  (目标:用java接口实现Http GET请求从服务器下载一张pic1.jpg保存到本地D盘)

2.服务器端:使用MyEclipse , 建立一个 Web Project : myhttp , 在/WebRoot 目录下放一张 pic1.jpg

3.启动服务器,再运行客户端,则程序结果:将服务器上pic1.jpg 写到本地D盘。

三幅图

1.客户端java project目录

JAVA用http协议GET方法从服务器获取图片保存到本地详解编程语言

2.服务器端pic1.jpg的位置

JAVA用http协议GET方法从服务器获取图片保存到本地详解编程语言

3.程序运行的结果

JAVA用http协议GET方法从服务器获取图片保存到本地详解编程语言

-

客户端HttpUtils.java  代码:

package com.http.get; 

import java.io.FileOutputStream; 

import java.io.IOException; 

import java.io.InputStream; 

import java.net.HttpURLConnection; 

import java.net.MalformedURLException; 

import java.net.URL; 

public class HttpUtils { 

 public static String URL_PATH = "http://192.168.0.100:8080/myhttp/pic1.jpg"; 

 public HttpUtils() { 

 // TODO Auto-generated constructor stub 

 //把从服务器获得图片的输入流InputStream写到本地磁盘 

 public static void saveImageToDisk() { 

 InputStream inputStream = getInputStream(); 

 byte[] data = new byte[1024]; 

 int len = 0; 

 FileOutputStream fileOutputStream = null; 

 try { 

 fileOutputStream = new FileOutputStream("D://test1.jpg"); 

 while ((len = inputStream.read(data)) != -1) { 

 fileOutputStream.write(data, 0, len); 

 } catch (IOException e) { 

 // TODO Auto-generated catch block 

 e.printStackTrace(); 

 } finally { 

 if (inputStream != null) { 

 try { 

 inputStream.close(); 

 } catch (IOException e) { 

 // TODO Auto-generated catch block 

 e.printStackTrace(); 

 if (fileOutputStream != null) { 

 try { 

 fileOutputStream.close(); 

 } catch (IOException e) { 

 // TODO Auto-generated catch block 

 e.printStackTrace(); 

 // 从服务器获得一个输入流(本例是指从服务器获得一个image输入流) 

 public static InputStream getInputStream() { 

 InputStream inputStream = null; 

 HttpURLConnection httpURLConnection = null; 

 try { 

 URL url = new URL(URL_PATH); 

 httpURLConnection = (HttpURLConnection) url.openConnection(); 

 // 设置网络连接超时时间 

 httpURLConnection.setConnectTimeout(3000); 

 // 设置应用程序要从网络连接读取数据 

 httpURLConnection.setDoInput(true); 

 httpURLConnection.setRequestMethod("GET"); 

 int responseCode = httpURLConnection.getResponseCode(); 

 if (responseCode == 200) { 

 // 从服务器返回一个输入流 

 inputStream = httpURLConnection.getInputStream(); 

 } catch (MalformedURLException e) { 

 // TODO Auto-generated catch block 

 e.printStackTrace(); 

 } catch (IOException e) { 

 // TODO Auto-generated catch block 

 e.printStackTrace(); 

 return inputStream; 

 public static void main(String args[]) { 

 // 从服务器端获得图片,保存到本地 

 saveImageToDisk(); 


原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/14007.html

cjava