InputStream读取流有三个方法:

  • read()
  • read(byte[] b)
  • read(byte[] b, int off, int len)
  • 在从数据流里读取数据时,为图简单,经常用InputStream.read()方法。这个方法是从流里每次只读取读取一个字节,效率会非常低。
  • 更好的方法是用InputStream.read(byte[] b)或者InputStream.read(byte[] b,int off,int len)方法,一次读取多个字节。
  • 但是这些方法都不能一次性把流中的数据读取完整或不知道有没有读取完整。

上面说的问题,使用readInputStream方法解决

URL url = new URL (urlStr);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
//设置超时间为3秒
conn.setConnectTimeout(3*1000);
//防止屏蔽程序抓取而返回403错误
conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
//得到输入流
InputStream inputStream = conn.getInputStream();byte[] getData = readInputStream(inputStream);
inputStream.read(getData);
String str = new String(getData);
System.out.println ("打印内容:"+str);
  • readInputStream方法

    public static  byte[] readInputStream(InputStream inputStream) throws IOException {byte[] buffer = new byte[1024];int len = 0;ByteArrayOutputStream bos = new ByteArrayOutputStream();while((len = inputStream.read(buffer)) != -1) {bos.write(buffer, 0, len);}bos.close();return bos.toByteArray();
    }
    

InputStream读取数据相关推荐

  1. java InputStream读取数据问题【转http://cuisuqiang.iteye.com/blog/1434416】

    首先请查看一下JavaAPI,可以看到InputStream读取流有三个方法,分别为read(),read(byte[] b),read(byte[] b, int off, int len).其中r ...

  2. 【转载】java InputStream读取数据问题

    原文链接:http://www.cnblogs.com/MyFavorite/archive/2010/10/19/1855758.html 1. 关于InputStream.read()      ...

  3. java InputStream读取数据问题【转】http://cuisuqiang.iteye.com/blog/1434416

    首先请查看一下JavaAPI,可以看到InputStream读取流有三个方法,分别为read(),read(byte[] b),read(byte[] b, int off, int len).其中r ...

  4. java获取inputstream_java InputStream读取数据问题

    1. 关于InputStream.read() 在从数据流里读取数据时,为图简单,经常用InputStream.read()方法.这个方法是从流里每次只读取读取一个字节,效率会非常低.     更好的 ...

  5. inputstream读取数据不全

    TCP通讯使用定长报文. 格式: 请求 :6byte(表示后续报文长度len)+ byte[len] 响应: 6byte(表示后续报文长度len)+ byte[len] 从响应inputstream里 ...

  6. Request.InputStream 将数据作为XML数据发送

    将数据作为XML数据发送,例如: public voidPostXml(stringurl, stringxml) {     byte[] bytes = Encoding.UTF8.GetByte ...

  7. mfc从文件中读取数据_Java中Transient关键字,一点课堂(多岸学院)

    Java中Transient关键字 虽然自己最熟的是Java,但很多Java基础知识都不知道,比如transient关键字以前都没用到过,所以不知道它的作用是什么,今天做笔试题时发现有一题是关于这个的 ...

  8. android 从文件制定位置读取数据

    今天,简单讲讲android 如何从制定的位置读取文件. 之前,我写了使用FileInputStream使用read(byte[] b)读取文件的博客,每次调用read()时,FileInputStr ...

  9. Java从控制台中读取数据完全攻略

    0 引言 从控制台中读取数据是一个比较常用的功能,在 JDK 5.0 以前的版本中的实现是比较复杂的,需要手工处理系统的输入流.有意思的是,从 JDK 5.0 版本开始,能从控制台中输入数据的方法每增 ...

最新文章

  1. jquery设置属性值或移除属性
  2. 使用Jsonp(JQ+C#)
  3. eShopOnContainers 知多少[7]:Basket microservice
  4. 前端学习(3005):vue+element今日头条管理--处理布局完成
  5. 通用客户端表单验证函数修正版(zz)
  6. SOA研究综述(转)
  7. gdb调试daemon程序
  8. windows卸载linux系统,Windows和Linux双系统下完美卸载linux
  9. 2017美赛C题论文学习笔记
  10. 最新Django经典面试问题与答案汇总
  11. 李白的诗-按时间顺序的创作
  12. 2020大学计算机有什么专业,2020计算机专业院校名单「大学排名」
  13. 关于十六进制发送和显示(VS上位机和下位机)
  14. 大数据舆情传播演变规律如何分析的方法技巧
  15. haoi2008木棍分割解题报告
  16. 告别手动输入验证码!Web自动化测试带你解锁验证码处理和Cookie机制,跨越测试瓶颈!
  17. 多传感器融合定位GNSS、IMU、Lidar、Camera
  18. mysql事物sql语句死锁,定时任务启动失败Lock wait timeout exceeded;try restarting transaction
  19. 混合云的概念以及优势劣势简单介绍
  20. Python 框架 之 Django MVT 下的 M 的 模型的简单介绍和使用

热门文章

  1. VUE项目前端页面添加水印
  2. LeetCode994 Rotting Oranges解题方案
  3. large-margin softmax loss for convolutional neural networks
  4. mysql用sql新增字段
  5. 6-2 递归求阶乘和 (15 分)
  6. 百数智慧社区细分领域合作案例展示
  7. 关于超细六类网线用于PoE的说明
  8. 又一优雅的 K8s 开源桌面管理工具
  9. 高考数学复习-立体几何知识点总结及复习资料
  10. jetson nano的处理器架构