bytearrayinputstream 用法,bytearrayoutputstream转inputstream
目录
字节输入流字节输入输出流
00-1010介绍字节数组输入流是字节数组输入流。它继承自InputStream。
InputStream为它们提供了通过read()读取字节数据的接口;在ByteArrayInputStream中还定义了一个计数器,用于跟踪read()方法要读取的下一个字节。
它包含一个包含从流中读取的字节的内部缓冲区。也就是说,它在内部维护一个数组,输出数据将放入它的内部数组。
创建对象接收字节数组作为参数创建:
bytearrayiputstream bArray=new bytearrayiputstream(byte[]a);接收字节数组,off表示读取的第一个字节,len表示读取字节的长度。
bytearrayiputstream bArray=new bytearrayiputstream(byte[]a,int off,int len)InputStream 方法:
函数返回值函数public intread()ThrowsioException返回下一个数据字节(返回0到255范围内的int字节值)。从输入流public intread(byte[]b)读取的数据的下一个字节ThrowsioException以整数形式返回实际读取的字节数。如果因为已经到了流的末尾而没有更多的数据可用,则返回-1从输入流中读取一定数量的字节并存储到缓冲区数组b中. public intread(byte[]b,intoff,intlen)读入缓冲区的字节总数ThrowsioException如果因为已经到达流的末尾而没有更多可用的数据,则返回-1。将输入流中的最大len数据字节读入字节数public longskip(longn)ThrowsioException跳过的实际字节数跳过并丢弃此输入流中的n个字public intavailable()数据。throwsIOEXception在不阻塞的情况下可以从该输入流中读取(或跳过)的估计字节数返回下一个方法调用在不阻塞的情况下可以从该输入流中读取(或跳过)的估计字节数。公共布尔markSupported()返回true如果此输入流实例支持标记和重置方法;否则,返回false。测试此输入流是否支持标记和重置方法。公共voidmark(intreadlimit)不标记此输入流中的当前位置。公共voidreset()ThrowsIOEXception未将此流重新定位到上次对此输入流调用mark方法的位置。public voidclose()ThrowsioException未关闭此输入流并释放与此流关联的所有系统资源。
00-1010创建对象以下构造方法创建一个32字节的缓冲区(默认大小)
output stream bOut=new bytearray output stream();构造函数创建一个字节大小的缓冲区。
output stream bOut=new bytearray output stream(int a)方法:
方法描述1public void reset()将该字节数组输出流的计数字段重置为零,从而丢弃输出流中所有累积的数据输出。2public byte[] toByteArray()创建一个新分配的字节数组。数组和当前输出流的大小,内容是当前输出流的副本。3public String toString()将缓冲区的内容转换为字符串,并根据平台的默认字符编码将字节转换为字符。4public void write(int w)将指定的字节写入字节数组输出流。5public void write(byte []b, int off, int len)将指定字节数组中偏移量off处的len字节写入该字节数组输出流。6public void writeTo(OutputStream outSt)将这个字节数组的输出流的所有内容写入指定的输出流参数。栗子:
公共类Main { public static void Main(String[]args)引发异常{ ByteArrayOutputStream out=new ByteArrayOutputStream();//字节值被放入内部数组out.write(abc中文。getBytes());//关闭()是空方法,因为是内存操作,所以没有要关闭的资源,不调用也可以//但一般养成习惯写关闭()方法出去。close();byte[]a=out。tobytearray();系统。出去。println(数组。tostring(a));InputStreamReader in=new InputStreamReader(new bytearray inputstream(a));int c;while ((c=in.read())!=-1){系统。出去。println((char)c);}在。close();} }运行结果:
到此这篇关于爪哇中ByteArrayInputStream和ByteArrayOutputStream用法详解的文章就介绍到这了,更多相关Java ByteArrayInputStream内容请搜索盛行信息技术以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行它!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。