转载:https://www.cnblogs.com/zyxiaohuihui/p/4531922.html
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();
}
}