通过Java HTTP连接将网络图片下载到本地
2017-08-18 11:23
459 查看
package imageView;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
/**
* @说明 从网络获取图片到本地
* @author 崔素强
* @version 1.0
* @since
*/
public class GetImage {
/**
* 测试
* @param args
*/
public static void main(String[] args) {
String url = "http://www.baidu.com/img/baidu_sylogo1.gif";
byte[] btImg = getImageFromNetByUrl(url);
if(null != btImg && btImg.length > 0){
System.out.println("读取到:" + btImg.length + " 字节");
String fileName = "百度.gif";
writeImageToDisk(btImg, fileName);
}else{
System.out.println("没有从该连接获得内容");
}
}
/**
* 将图片写入到磁盘
* @param img 图片数据流
* @param fileName 文件保存时的名称
*/
public static void writeImageToDisk(byte[] img, String fileName){
try {
File file = new File("C:\\" + fileName);
FileOutputStream fops = new FileOutputStream(file);
fops.write(img);
fops.flush();
fops.close();
System.out.println("图片已经写入到C盘");
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 根据地址获得数据的字节流
* @param strUrl 网络连接地址
* @return
*/
public static byte[] getImageFromNetByUrl(String strUrl){
try {
URL url = new URL(strUrl);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5 * 1000);
InputStream inStream = conn.getInputStream();//通过输入流获取图片数据
byte[] btImg = readInputStream(inStream);//得到图片的二进制数据
return btImg;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 从输入流中获取数据
* @param inStream 输入流
* @return
* @throws Exception
*/
public static byte[] readInputStream(InputStream inStream) throws Exception{
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while( (len=inStream.read(buffer)) != -1 ){
outStream.write(buffer, 0, len);
}
inStream.close();
return outStream.toByteArray();
}
}
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
/**
* @说明 从网络获取图片到本地
* @author 崔素强
* @version 1.0
* @since
*/
public class GetImage {
/**
* 测试
* @param args
*/
public static void main(String[] args) {
String url = "http://www.baidu.com/img/baidu_sylogo1.gif";
byte[] btImg = getImageFromNetByUrl(url);
if(null != btImg && btImg.length > 0){
System.out.println("读取到:" + btImg.length + " 字节");
String fileName = "百度.gif";
writeImageToDisk(btImg, fileName);
}else{
System.out.println("没有从该连接获得内容");
}
}
/**
* 将图片写入到磁盘
* @param img 图片数据流
* @param fileName 文件保存时的名称
*/
public static void writeImageToDisk(byte[] img, String fileName){
try {
File file = new File("C:\\" + fileName);
FileOutputStream fops = new FileOutputStream(file);
fops.write(img);
fops.flush();
fops.close();
System.out.println("图片已经写入到C盘");
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 根据地址获得数据的字节流
* @param strUrl 网络连接地址
* @return
*/
public static byte[] getImageFromNetByUrl(String strUrl){
try {
URL url = new URL(strUrl);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5 * 1000);
InputStream inStream = conn.getInputStream();//通过输入流获取图片数据
byte[] btImg = readInputStream(inStream);//得到图片的二进制数据
return btImg;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 从输入流中获取数据
* @param inStream 输入流
* @return
* @throws Exception
*/
public static byte[] readInputStream(InputStream inStream) throws Exception{
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while( (len=inStream.read(buffer)) != -1 ){
outStream.write(buffer, 0, len);
}
inStream.close();
return outStream.toByteArray();
}
}
相关文章推荐
- 通过Java HTTP连接将网络图片下载到本地
- 通过Java HTTP连接将网络图片下载到本地
- 通过Java HTTP连接将网络图片下载到本地
- 通过Java HTTP连接将网络图片下载到本地
- 通过Java HTTP连接将网络图片下载到本地
- Java HTTP连接将网络图片下载到本地
- android通过NDK连接网络下载图片到本地
- Android开发之下载服务器上的一张图片到本地java代码实现HttpURLConnection
- 通过AFNetworking下载网络闪屏用的图片并存储到本地同时获取header头相关信息
- 【Java】下载网络上的图片并保存到本地目录
- java下载远程http地址的图片文件到本地-自动处理图片是否经过服务器gzip压缩的问题
- Java和Android Http连接程序:使用java.net.URL 下载服务器图片到客户端
- Android开发之java代码工具类。判断当前网络是否连接并请求下载图片
- [置顶] Android开发之下载服务器上的一张图片到本地java代码实现HttpURLConnection
- 第四章 网络下载之httpurlconnection 从网络上下载一张图片,在本地显示
- JAVA通过访问页面中的URL实现Http文件下载到本地
- android 通过http网络下载图片 并
- java WEB项目通过url下载图片到本地
- Java和Android Http连接程序:使用java.net.URL 下载服务器图片到客户端
- 通过Apache的httpClient的get方式连接服务器下载图片到本地