简单的从服务器获取图片保存到本地


1.先创建一个web工程,在webroot目录下放一张图片

2.将工程挂到服务器

3.创建一个java工程

源码:(myhhtp工程)

package myhttp;

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 {

    private static String URL_PATH = "http://169.254.174.231:8080/myhttp/1.jpg";
    public HttpUtils() {
        // TODO Auto-generated constructor stub
    }

    public static void saveImageToDisk() throws IOException{
        
        InputStream inputStream = getInputStream();
        byte [] data = new byte[1024];
        int len = 0;
        FileOutputStream fileOutputStream = null;
        try {
            fileOutputStream = new FileOutputStream("D:\\1.jpg");
            while((len = inputStream.read(data))!=-1){
                fileOutputStream.write(data, 0, len);
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            if(inputStream!=null){
                try {
                    inputStream.close();
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            if(fileOutputStream != null){
                try {
                    fileOutputStream.close();
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
    }
    public static InputStream getInputStream() throws IOException{
        InputStream inputStream = null;
        HttpURLConnection httpURLConnection = null;
        try {
            URL url = new URL(URL_PATH);
            if(url!=null){
                httpURLConnection = (HttpURLConnection) url.openConnection();
                //设置连接网络的超时时间
                httpURLConnection.setConnectTimeout(3000);
                //如果打算使用 URL 连接进行输入,则将 DoInput 标志设置为 true;如果不打算使用,则设置为 false。默认值为 true。
                httpURLConnection.setDoInput(true);
                httpURLConnection.setRequestMethod("GET");
                int responseCode = httpURLConnection.getResponseCode();
                //服务器状态码,返回200表示服务器成功返回网页
                if(responseCode == 200){
                    //从服务器获得一个输入流
                    inputStream = httpURLConnection.getInputStream();
                }
            }
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return inputStream;
    }
    public static void main(String [] args) throws IOException{
        //从服务器获得图片保存到D盘
        saveImageToDisk();
    }
}

 

智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告