import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL; import org.junit.Test; public class InternetTest
{ @Test
public void getImage() throws Exception
{
// fail("Not yet implemented");
// 首先我们要得到请求的路径,路径为我们想要得到的资源
String urlpath = "http://pica.nipic.com/2008-05-23/200852381811521_2.jpg";
// 建立URL对象,抛出异常
URL url = new URL(urlpath);
// 得到HttpURLConnection对象
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
// 声明请求方式
conn.setRequestMethod("GET");
// 设置连接超时
conn.setConnectTimeout(6 * 1000);
// 连接成功
if (conn.getResponseCode() == 200)
{
// 得到服务器传回来的数据,相对我们来说输入流
InputStream inputStream = conn.getInputStream();
// 得到数据
byte[] data = readInStream(inputStream);
// 创建保存文件
File file = new File("xiaocai.jpg");
// 创建一个文件输出流
FileOutputStream outputStream = new FileOutputStream(file);
// 将我们所得的二进制数据全部写入我们建好的文件中
outputStream.write(data);
// 关闭输出流
outputStream.close();
} } // 读取流文件的内容
public byte[] readInStream(InputStream inputStream) throws Exception
{
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
// 声明缓冲区
byte[] buffer = new byte[1024];
// 定义读取默认长度
int length = -1;
while ((length = inputStream.read(buffer)) != -1)
{
// 把缓冲区中输出到内存中
byteArrayOutputStream.write(buffer, 0, length);
}
// 关闭输出流
byteArrayOutputStream.close();
// 关闭输入流
inputStream.close();
// 返回这个输出流的字节数组
return byteArrayOutputStream.toByteArray();
}
}

最新文章

  1. 1280*720P和1920*1080P的视频在25帧30帧50帧60帧时的参数
  2. tensorfolw配置过程中遇到的一些问题及其解决过程的记录(配置SqueezeDet: Unified, Small, Low Power Fully Convolutional Neural Networks for Real-Time Object Detection for Autonomous Driving)
  3. HTTP压缩
  4. C#中Abstract和Virtual
  5. HIbernate的对象状态
  6. 有限状态机HDL模板
  7. mac点滴
  8. 强大!基于拖放布局的 Twitter Bootstrap 网站生成器
  9. 13 引用WINAPI
  10. 几年前再用exjts4,如今extjs5发布了,技术更新快,每次给人惊喜
  11. 【HAL库每天一例】freemodbus移植
  12. 树莓派Raspberry中成功安装RobotFramework+Selenium
  13. mysql 两张表的数据设置主外健关联删除
  14. py3,休息时间玩点小把戏
  15. Django-rest-framework 接口实现 版本控制 versioning
  16. luoguP4707 重返现世
  17. 从url(地址栏)获取参数:Jquery中getUrlParam()方法的使用
  18. Hexo + Github 个人博客设置以及优化
  19. 本地导入/导出远程oracle数据库
  20. 构造函数中的super和this的使用

热门文章

  1. IOS YYKit 源码解析
  2. 星际战争(bzoj 3993)
  3. About chrysanthemum and matrimony vine
  4. [LeetCode] Min Stack 栈
  5. jQuery动态创建form表单并提交到后台(携带一定的数据进行页面跳转)
  6. 各种版本QT下载地址与VS2013+QT5.3.1环境搭建过程(转)
  7. kafka术语
  8. ++x和x++
  9. 手游LTV(用户终生价值)计算公式
  10. Codeforces 754A(搜索)