java.ByteArrayInputStream与ByteArrayOutputStream
来源:互联网 发布:淘宝疯狂聚便宜 编辑:程序博客网 时间:2024/04/28 04:55
第一次看到ByteArrayOutputStream的时候是在Nutch的部分源码,后来在涉及IO操作时频频发现这两个类的踪迹,觉得确实是很好用,所以把它们的用法总结一下。
以下是JDK中的记载:
public class ByteArrayOutputStream
实例:
从文件中读取二进制数据,全部存储到ByteArrayOutputStream中。
FileInputStream fis=new FileInputStream("test");
BufferedInputStream bis=new BufferedInputStream(fis);
ByteArrayOutputStream baos=new ByteArrayOutputStream();
int c=bis.read();//读取bis流中的下一个字节
while(c!=-1){
}
bis.close();
byte retArr[]=baos.toByteArray();
ByteArrayInputStream的用法
public class ByteArrayInputStreamexte
关闭 ByteArrayInputStream 无效。此类中的方法在关闭此流后仍可被调用,而不会产生任何 IOException。
构造函数:
ByteArrayInputStream(byte[] buf)
注意它需要提供一个byte数组作为缓冲区。
然后调用某个方法得到网络中的数据包,例如:
Socket s=...;
DataInputStream dis=new DataInputStream(s.getInputStream());
dis.read(buf);//把所有数据存到buf中
ByteArrayInputStream bais=new ByteArrayInputStream(buf); //把刚才的部分视为输入流
DataInputStream dis_2=new DataInputStream(bais);
//现在可以使用dis_2的各种read方法,读取指定的字节
比如第一个字节是版本号,dis_2.readByte();
等等……
上面的示例的两次包装看上去有点多此一举,但使用ByteArrayInputStream的好处是关掉流之后它的数据仍然存在。
3.个人小结以及代码分析:
ByteArrayOutputStream:
ByteArrayInputStream:
- java.ByteArrayInputStream与ByteArrayOutputStream
- java.ByteArrayInputStream与ByteArrayOutputStream理解
- java.ByteArrayInputStream与ByteArrayOutputStream浅谈
- java.ByteArrayInputStream与ByteArrayOutputStream再次理解
- java.ByteArrayInputStream与ByteArrayOutputStream再次理解
- java.ByteArrayInputStream与ByteArrayOutputStream再次理解
- ByteArrayInputStream与ByteArrayOutputStream类
- ByteArrayInputStream与ByteArrayOutputStream
- ByteArrayInputStream与ByteArrayOutputStream详解
- ByteArrayinputStream与ByteArrayOutputStream,printStream
- java.ByteArrayInputStream-ByteArrayOutputStream
- java.ByteArrayInputStream-ByteArrayOutputStream
- java.ByteArrayInputStream-ByteArrayOutputStream
- java.ByteArrayInputStream-ByteArrayOutputStream
- java.ByteArrayInputStream-ByteArrayOutputStream
- Java基础---ByteArrayInputStream、ByteArrayOutputStream
- Java IO - ByteArrayInputStream&ByteArrayOutputStream
- Java操作字节数组的流ByteArrayInputStream与ByteArrayOutputStream
- 笔试面试后有感
- jquery validate表单验证插件制作注册表单验证提交
- Android中this、super的区别 1.转载链接:http://blog.163.com/qq3076169@126/blog/static/171724067201262011102889
- 蹭了ACM,感觉不会啊%>_<%
- 浅析StringUtils
- java.ByteArrayInputStream与ByteArrayOutputStream
- XSS 前端防火墙(1):内联事件拦截
- android解析pdf文件muPdf
- 网络中的cookie和session的区别
- Android Camera
- 手机-多核
- Eclipse中通过Tomcat运行J2EE项目java.lang.OutOfMemoryError: PermGen space的解决方案
- java基础:java语法基础
- 今天终于刷完leetcode的题了,同时分享一些资料